Plotting graphs with functions in if loop
2 views (last 30 days)
Show older comments
Sushant Singh
on 24 Feb 2021
Commented: Sushant Singh
on 24 Feb 2021
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
0 Comments
Accepted Answer
Matteo Pellegri
on 24 Feb 2021
Edited: Matteo Pellegri
on 24 Feb 2021
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')
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!