Matlab:将具有不同参数的函数绘制成

时间:2013-05-23 19:10:27

标签: matlab function plot

在Matlab中我有一个函数调用一组参数。我有3套,我可以单独调用它们并绘制它们。没有问题。但我希望能够在一个单一的情节中对它们进行比较。含义:有没有办法,我把所有三个图都放到一个图中?

函数[GE,SI,RES,T] = glusim(参数,数据) [...] 如果我调用glusim(1,Data),我会使用一组参数,并得到一个图。 如果我调用glusim(2,Data),我会使用另一组参数并得到一个图。 如果我调用glusim(3,Data),我会使用第三组参数并得到一个图。 我想比较所有三合一图。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

命令hold on允许您在现有轴上绘图而不删除已经绘制的内容。

或者,您可以使用行为相似的hold all但确保其他绘图命令将循环通过预定义的颜色列表(除非您将其覆盖)。

如此快速举例说明:

figure; % Create new figure window
hold on; % Retain graph when adding new ones
plot(Data1);
plot(Data2);
plot(Data3);

稍微复杂一点的答案是,您还需要确保所有绘图命令都绘制到相同的图形。当你调用plot命令时,它会绘制到被认为是“当前数字”的任何数字。对此的解释有点高级,涉及存储和调用图形句柄,但我在下面提供了更详细的示例。

为了更好地控制当前数字的数字,您可以按如下方式修改上述代码:

h = figure; % Create new figure window, assign figure handle to h
plot(Data1);

% ... Do things other than plotting

figure(h); % When ready to plot, set figure "h" to be the current figure
hold on; % Apply hold to ensure you won't erase previous plots
plot(Data2);

因此,要回答原始问题,如果在函数内部进行绘图,则需要确保该函数可以访问要绘制的图形的句柄。