目录:
1.2D绘图基础
2.更多 2D绘图选项题
3.坐标轴命令
4.在同一图象中显示多个函数
5.添加图例
6.设置颜色
7.设置坐标比例
8.子图
9.图象重叠和linspace命令
10.极坐标和对数图象
11.离散数据绘图
12.等高线图
13.三维图象
1.2D绘图基础
MATLAB 中绘图包含下面三个步骤:
- 定义函数
- 指定要绘制的函数图形的值范围
- 调用 MATLAB 的 plot(x, y)函数
x = [0:0.01:10];
y = cos(x);
plot(x, y)
2.更多 2D绘图选项题
plot(x, y), xlabel(‘x’), ylabel(‘cos(x)’) title(‘hhh’);//配置横轴坐标轴标签和标
MATLAB 正确的方法是在乘号()前带上一个圆句点句(.*),不明白?让我演示
一遍正确的输入方法:
t = [0:0.02:4];
f = exp(-2*t).sin(t);//两个关于未知数函数相乘用 .
3.坐标轴命令
plot(x,y), grid on, axis equal //坐标轴方格与曲线坐标轴宽度配置(附:axis auto(自动选择))
例:plot(x,y), axis([0 5 -1 1])
4.在同一图象中显示多个函数
t = [0:0.01:5];
f = exp(-t);
g = exp(-2*t);
plot(t,f,t,g,‘–’)//绘制两条曲线
MATLAB 在图象中可以使用四种基本线条风格。它们——放在 plot 中用来表示线条风格字符串后面——是:
- 实线 ‘-’
2.虚线 ‘–’
3.虚点线 ‘-.’
4.点线 ‘:’
plot(t,f,‘:’,t,g,‘–’);//配置f函数和g函数线条
5.添加图例
plot(x,y,x,z), legend(‘sinh(x)’,‘cosh(x)’)//配置图例
6.设置颜色
plot(x,y,‘r’,x,z,‘b’);//配置y函数和z函数颜色
plot(x,y,‘r’,x,z,‘b–’);//颜色线条同时配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cVmtHdv4-1659503232177)(assets/image-20220720095909-pb54wmj.png)]
7.设置坐标比例
sin 函数平方的正确方法是使用数组相乘记号,即使用 A.^B 表示 AB。
x = [0:0.01:5];
例:y = sin(5*x).^2;
plot(x,y), axis([0 5 -1 1]);//绘图时设置x范围0到5,y范围-1到1
8.子图
subplot(1,2,1);//创建的图有 1 行 2 个窗格块(1行 2 列),接下来特定的图象将显示在第一个窗格块中
subplot(1,2,2);//创建的图有 1 行 2 个窗格块(1行 2 列),接下来特定的图象将显示在第二个窗格块中
9.图象重叠和linspace命令
回到我们的困境,我们要在一个图形上绘制 cos(x)的同时再绘上 sin(x)。可以通过下面的命令序列做到:
x = linspace(0,2*pi,n);//MATLAB 会在 a 到 b 间取出均匀分布的 n(未标明为100)个点(或行向量)
plot(x, cos(x)),axis([0 2*pi -1 1])
hold on
plot(x, sin(x)), axis ([0 2*pi -1 1])
10.极坐标和对数图象
a = 2;
theta = [0:pi/90:2*pi];
r = a*theta;
polar(theta,r), title(‘阿基米德螺线’);产生极坐标并添加标题
polar(theta,r,‘r-.’);//练色虚点线绘制曲线
loglog(x,y);//绘制对数图像
11.离散数据绘图
x = [1:5];
y = [50,98,75,80,98];
plot(x,y,‘o’,x,y),set(gca,‘XTicklabel’,[‘001’; ‘002’;‘003’;‘004’;‘005’]), …
set(gca,‘XTick’,[1:5]),axis([1 5 0 100]),xlabel(‘学生’),ylabel(‘期末成绩’),title(‘2005 年 12 月期末考试’)
bar(x,y), xlabel(‘学生’),ylabel(‘分数’), title(‘期末测试’);//二维条形图绘制
我们还可以自由地选择标记的样式,包括方块(s)、菱形(d)、五角星§、圆圈(o)、叉号(x)、星号(*)和点号(.)
stem(t,f),xlabel(‘时间(秒)’),ylabel(‘弹簧响应’);针头图绘制
举例:stem(t,f,‘–dg’,‘fill’),xlabel(‘时间(秒)’),ylabel(‘弹簧响应’)
12.等高线图
[x,y] = meshgrid(-5:0.1:5, -3:0.1:3);//配置x,y范围
z = x.^2 + y.^2;//
contour(x,y,z)//绘制俯视图 contour3(x, y, z, 30)//绘制三维图像
set(h,‘ShowText’,‘on’,‘TextStep’,get(h,‘LevelStep’)*2);绘制等高线
surface(x,y,z,‘EdgeColor’,[.8 .8 .8],‘FaceColor’,‘none’);装扮三维图像
grid off; //去除框格
view(-15,20);//等高线间距调整
13.三维图象
[x,y] = meshgrid(-2:0.1:2);//配置x,y范围
z = y.*exp(-x.2-y.2); //函数配置
mesh(x,y,z),xlabel(‘x’),ylabel(‘y’),zlabel(‘z’)//三维图像绘制
图象中的阴影可以设置为flat、interp和faceted。flat 是用同一颜色为每个网格进行着色并隐藏网格线,而 facted 则显示网格,使用 interp 是告诉 MATLAB 使用颜色插值的办法进行着色,因此显得非常平滑,
surf(x,y,z),xlabel(‘x’),ylabel(‘y’),zlabel(‘z’)//绘制表面带有渐变颜色的图象,通过 surf 或 surfc 命令
surfl(x,y,z),xlabel(‘x’),ylabel(‘y’),zlabel(‘z’);//surfl(命令中的“l”告诉我们这是一个光照表面(lighted surface))
shading interp;//阴影配置
colormap(gray);//去色