Plotting graphs with functions in if loop

1 次查看(过去 30 天)
Hello community
I want to plot the graph of fb (on Y-axis) vs x (on X-axis) for the attached code:
The plot that I get is also attached here. As I am new to MATLAB I am sure there are mistakes. Any help will be greatly appreciated.
clear all,
clc,
P=93000 ;
L=45*10^(-3);
x= linspace(0,58*10^(-6));
sx=(P/L).*(x);
sY=22;
n=0.53 ;
K=3.9 ;
if sY<sx
fb=(sx.^-1).*((sx-sY)/K).^(1/n);
else
fb=0;
end
plot(x,fb,'-o')
Regards
Sushant

采纳的回答

Matteo Pellegri
Matteo Pellegri 2021-2-24
编辑:Matteo Pellegri 2021-2-24
You are using the if condition in the wrong way. You can perform you calculation first and then use array index to set the values of fb to 0 right after.
clear all
clc
P=93000 ;
L=45;
x= linspace(0,58,100);
sx=(P/L)*(x); %for scalar multiplication you don't need the .
sY=22;
n=0.53 ;
K=3.9 ;
fb=(sx.^-1).*((sx-sY)/K).^(1/n);
fb(sx<=sY)=0;
plot(x,fb,'-o')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by