matlab的绘图可以采用直角坐标系、对数坐标系和极坐标等形式。数据点也可用向量或矩阵形式给出,类型可以是实型或复型。
以实例和代码讲解:在不同图形窗口下分别绘制出y=sin(x),y=sin(2x),y=sin(3x),y=sin(4x),在[0,2*pi]上的图形
x=(0:0.01:2*pi);%x从0开始取值,步长为0.01,一直取到2pi
y1=sin(x); %x与y的函数关系
figure(1); %创建figure1
plot(x,y1); %绘制x与y的函数关系,并将结果绘制在figure1上
y2=sin(2*x);
figure(2);
plot(x,y2);
y3=sin(3*x);
figure(3);
plot(x,y3);
y4=sin(4*x);
figure(4);
plot(x,y4)
或:
x=(0:0.01:2*pi);
y1=sin(x);
y2=sin(2*x);
y3=sin(3*x);
y4=sin(4*x);
figure(1);
plot(x,y1);
figure(2);
plot(x,y2);
figure(3);
plot(x,y3);
y4=sin(4*x);
figure(4);
plot(x,y4)
函数命令plot(x1,y1,x2,y2…)
例:将y=sin(x),y=sin(2x),y=sin(3x),y=sin(4x),在[0,2*pi]上的图形绘制在同一坐标系下:
x=(0:0.01:2*pi);
y1=sin(x);
y2=sin(2*x);
y3=sin(3*x);
y4=sin(4*x);
plot(x,y1,x,y2,x,y3,x,y4)
或:
x=(0:0.01:2*pi);
plot(x,sin(x),x,sin(2*x),x,sin(3*x),x,sin(4*x))
函数命令:subplot
调用格式:subplot(m,n,p) %(m行,n列,第p张图)也就是说生成共 m行,n列张图,该子图为该m行n列的矩阵的第p张。
如:在同一坐标窗口,不同坐标系下分别绘制出y=sin(x),y=cos(x),y=tan(x),y=cot(x)在[0,2*pi]上的图形。
x=(0:0.01:2*pi);%x从0开始取值,步长为0.01,一直取到2pi
y1=sin(x); %x与y的函数关系
subplot(2,2,1); %创建一个2行2列的多重子图,并取第1张
plot(x,y1);
y2=cos(x);
subplot(2,2,2);
plot(x,y2);
y3=tan(x);
subplot(2,2,3);
plot(x,y3);
y4=cot(x);
subplot(2,2,4);
plot(x,y4)
或:
x=(0:0.01:2*pi);
y1=sin(x);
y2=cos(x);
y3=tan(x);
y4=cot(x);
subplot(2,2,1);
plot(x,y1);
subplot(2,2,2);
plot(x,y2);
subplot(2,2,3);
plot(x,y3);
subplot(2,2,4);
plot(x,y4)
hold on指令
两端不同的代码出了两幅图,想要放在一张图里,只需要在输出一张图之后,用上hold on指令,然后再输出第二张图即可。
比如:
x=(0:0.01:2*pi);
y1=sin(x);
plot(x,y1);
hold on;
y2=sin(2*x);
plot(x,y2);
hold on;
y3=sin(3*x);
plot(x,y3);
hold on;
y4=sin(4*x);
plot(x,y4)
set(gca, 'LooseInset', [0,0,0,0]) %去除掉坐标轴旁边的空隙