Handling figures built for different parameters in Matlab
4 ビュー (過去 30 日間)
古いコメントを表示
i couldn't find a simple answer to this thing im trying to do in Matlab. i'm gonna simplify this - say i have a function file that does some calculation for given parameter a:
[]=my_function(...,a)
...
calculations to obtain some functions y_1(x),y_2(x),... for a given a
...
figure(1);
plot(x,y_1);
title('y_1(x)');
xlabel('x');
ylabel('y_1');
set(legend(sprintf('y_1(x) for a=%g',a)),'interpreter','latex','Location','best');
figure(2);
plot(x,y_2);
title('y_2(x)');
xlabel('x');
ylabel('y_2');
set(legend(sprintf('y_2(x) for a=%g',a)),'interpreter','latex','Location','best');
...
i'm interested in plotting y_1(x) for different values of a (say 5 different values), all in a single figure (with a proper legend of course). same goes for y_2(x),y_3(x),...
whats the simplest way to do it?
i was thinking of making my_function return the plot/figure handle for each of the y_i's and then make a new script/function file that will do something like:
a=[0,1,3,5,7];
h_1=my_function(...,a(1));
h_2=my_function(...,a(2));
...
and somehow combine the figures from h_1 and h_2, but im not sure how to do it properly with the legend and everything.
0 件のコメント
採用された回答
Steven Lord
2016 年 4 月 4 日
If by "all in a single figure" you actually mean a figure window, look at the subplot function.
If by "all in a single figure" you actually mean inside a single axes, look at the hold function.
5 件のコメント
Walter Roberson
2016 年 4 月 4 日
ph{1} = plot(....);
leg{1} = 'My First Legend';
ph{2} = plot(....);
leg{2} = 'My Second Legend';
legend(cell2mat(ph), leg)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Legend についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!