Matlab:使用2个不同的函数绘制相同的图形

时间:2017-04-04 11:45:21

标签: matlab plot matlab-figure

我写了一个

形式的函数
function myplot(x,y)
plot(x,y)
end

此函数为给定的xy值创建一个图。实际功能更复杂,但在此处包含其内容不符合问题的目的。主要内容如下。

我试图运行以下脚本:

x = [1:0.01:10]
y = [1:0.01:10]
figure
plot(sin([1:0.01:10]))
hold on
myplot(x,y)

这里的目的是在同一图表上绘制2组数据。第一组数据由Matlab的本地plot命令生成,而第二组数据由用户自定义myplot函数生成(在这种情况下,应该是直线)。上面的剧本不会这样做....

如何让Matlab在同一个图上包含两组数据?

2 个答案:

答案 0 :(得分:0)

您的脚本将它们绘制成两个但具有不同的x值。如果您未在x中指定plot输入,则1:length(y)使用myplot,而您的x功能 指定plot(x,sin([1:0.01:10]))值(在你的情况下小10倍)。

只需:plot(sin([1:0.01:10]))代替uniq

答案 1 :(得分:0)

您可以将当前轴(在其上创建第一个绘图)保存在变量中,并将其作为参数传递给函数,以确保无论代码中的其他位置发生什么,它都会在相同的轴上绘制。< / p>

所以你的主要代码可能是这样的:

function myplot(x,y,hAxes)

plot(hAxes,x,y);

end

和功能:

var obj = {keywords:[]};
$( "li.cars" ).each(function() {
      obj.keywords.push($(this).text());
 });
 console.log(obj);