MATLAB绘图
二维绘图
plot命令
绘制 y = sin(x)+cos(x)的曲线:linspace - 生成线性间距向量
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
plot(x,y)
注:linspace - 生成线性间距向量。
结果:
多条曲线的绘制
method 1
hold命令
hold on :开启图像保持功能,保持已有图像,可使多条图线在同一块幕布上展现。
hold off :关闭图像保持功能。
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
plot(x,y)
hold on;
z=sin(4*y);
plot(y,z)
hold off;
结果:
method 2
在plot中同时插入多个参数;
plot(自变量,因变量,自变量,因变量,…)
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
plot(x,y,x,z)
结果:
添加辅助信息
1.坐标轴标签
使用label命令
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
plot(x,y,x,z)
xlabel('x');%为横轴添加标签
ylabel('y=sin(x)+cos(x),z=cos(4*x)');%为纵轴添加标签
结果:
2.标题
使用title命令
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
plot(x,y,x,z)
title('y=sin(x)+cos(x),z=cos(4*x)');%添加标题
结果:
3.图例
使用legend命令
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
plot(x,y,x,z)
legend('y=sin(x)+cos(x),z=cos(4*x)');%添加图标
结果:
绘制多幅图
若将绘制多个图像的代码写在一起运行,正常情况只出现一个图像,因为前面的图像会被后面的图像所覆盖。
figure命令
示例:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
figure;plot(x,y)
figure;plot(x,z)
结果:
运行程序,两幅图像同时出现。
close命令
close:关闭图像。
close all:关闭正在运行的所有图像。
绘制多个子图
subplot命令
语法:subplot(m,n,p)%m行n列第p个图像。
示例1:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
subplot(1,3,1);
plot(x,y)
subplot(1,3,2);
plot(x,z)
结果:
示例2:
// An MATLAB block
x=linspace(0,2*pi,10);
y=sin(x)+cos(x);
z=cos(4*x);
m=y+z;
n=y-z;
subplot(2,2,1);
plot(x,y)
subplot(2,2,2);
plot(x,z)
subplot(2,2,3);
plot(x,m)
subplot(2,2,4);
plot(x,n)
结果: