matlab中怎样将同一函数在不同自变量下的曲线画到同一张图中??

2024-12-26 15:48:04
推荐回答(5个)
回答1:

操作方法以及步骤:

1、首先,随机产生三组范围不同的数据,数据量分别为如下图所示:

2、要分别画出x1,x2,x3对应的曲线,用MATLAB的内置函数plot进行操作,分别用三个plot进行绘图,结果如下:

3、有一条曲线,并没有其他两条曲线。这是因为后面plot的语句画的图会将前面plot画的图覆盖掉。因此需要用一个语句来保留前面所绘制的图,在需要保留的图的后面加一句hold on,即可将该图保留,使它不被后面的图所覆盖。

4、可以将三条曲线画在一张图上,为了区别,要分别给这三条曲线定义不同的颜色。

5、为画的是多条曲线,因此还需要添加图例,这样子就完成了。

回答2:

在用MATLAB处理数变量,图后加hold on保留不被后面所覆盖以此将几组数据对应的曲线画在一张图上。

1、首先随机产生三组范围不同的数据,数据量都为500,他们的边界分别为10,15,23,38,38,58。

2、要分别画出x1,x2,x3对应的曲线,用MATLAB的内置函数plot进行操作,分别用三个plot进行绘图。

3、用一个语句来保留前面所绘制的图,在需要保留图的后面加一句hold on,即可将该图保留。

4、用grid on添加网格线,还需要添加横纵坐标轴标题,还需要添加图例legend,括号里面按照画图的顺序分别写每条曲线代表的意义即可。

5、下图为效果图,曲线画到同一张图中。

回答3:

有三种方法:
(1)用hold on和hold off,画好第一幅图后,用hold on 语句就可以接着在该坐标系下画出其他的曲线图形,画完后再用hold off结束
例如
% 函数y=sin(x)
x=linspace(0,pi,100);
y=sin(x)
plot(x,y,'*k');
hold on
x=linspace(2*pi,4*pi,100)
y=sin(x)
plot(x,y,'*k');
(2)建一个m行n列的矩阵,每一行代表一条曲线,然后再用一般的画图方法,如plot()函数就可以了
(3)可以直接将两条曲线直接写入plot函数的参数里,
例如
x1=linspace(0,pi,100);
x2=linspace(2*pi,4*pi,100)
% 函数y=sin(x)
y1=sin(x1);
y2=sin(x2);
plot(x1,y1,'*k',x2,y2,'sr');

回答4:

可以采用hold on(等待)命令,也可这样:plot(x1,y;x2,y)。楼主试下,想学MATLAB的话建议看下《MATLAB科学与计算》这本书,也可在百度文库里直接搜索“MATLAB概论”,祝楼主好运。

回答5:

hold on;
在这两个命令之间输入你的画图命令即可~~O(∩_∩)O~
hold off;