Plotting multiple functions in the same graph
2 次查看(过去 30 天)
显示 更早的评论
I want to plot two different functions in a same graph for different values of a parameter.
I tried the following code:
clc
clear all
syms y
t=[1 5];
for i=1:length(t)
U=exp(-y)*sin(t(i));
fplot(U,y,[0,5]); hold on;
U1=exp(-y)*cos(t(i));
fplot(U1,y,[0,5]); hold on;
end
Is that alright?
0 个评论
采纳的回答
Walter Roberson
2020-4-14
syms y
t=[1 5];
for i=1:length(t)
U=exp(-y)*sin(t(i));
fplot(U,[0,5]); hold on;
U1=exp(-y)*cos(t(i));
fplot(U1,[0,5]);
end
hold off
Or you could
syms y
t=[1 5];
for i=1:length(t)
U=exp(-y)*sin(t(i));
U1=exp(-y)*cos(t(i));
fplot([U,U1],[0,5]);
hold on
end
hold off
5 个评论
Walter Roberson
2020-4-22
If your t is fixed length, you can "unroll the loop", just putting all of the instructions in a row:
syms y
t=[1 5];
U=exp(-y)*sin(t(1));
fplot(U,[0,2]); hold on;
U1=exp(-y)*cos(t(1));
fplot(U1,[2,5]);
U=exp(-y)*sin(t(2));
fplot(U,[0,2]);
U1=exp(-y)*cos(t(2));
fplot(U1,[2,5]);
hold off
I think you will find that the for loop was contributing negligible time compared to the time required to do the fplot().
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!