MATLAB画图复习(一)

前言

本次主要是为了复习昨晚囫囵吞枣学的MATLAB知识,以此来巩固一下自己薄弱的知识体系,MATLAB前面基础零散的小知识点就暂时先不管,这次直接奔向画图模块,事先声明,本人是跟着的B站上的教程视频 MATLAB教程_台大郭彦甫(14课)原视频补档,所以博客中的大部分案例也都来自郭老师得教案。

案例一

波形图
(一)

%x轴从0开始描线到2pi,间隔为pi/20
plot(sin(0:pi/20:2*pi));

MATLAB画图复习(一)_第1张图片
(二)

hold on
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off

hold - 添加新绘图时保留当前绘图
此 MATLAB 函数 保留当前坐标区中的绘图,从而使新添加到坐标区中的绘图不会删除现有绘图。新绘图基于坐标区的 ColorOrder 和 LineStyleOrder 属性使用后续的颜色和线型。MATLAB 将调整坐标区的范围、刻度线和刻度标签以显示完整范围的数据。如果不存在坐标区,hold 命令会创建坐标区。
MATLAB画图复习(一)_第2张图片

Plot Style

Data markers Line types Line types
Dot (.) [.] Solid line [-] Black [k]
Asterisk (*) * Dashed line [–] Blue [b]
Cross (×) [X] Dash-dotted line [-.] Cyan [c]
Circle (○) [o] Dotted line [:] Green [g]
Plus sign (+) [+] Magenta [m]
Square (□) [s] Red [r]
Diamond (◇) [d] White [w]
Five-pointed star (☆) [p] Yellow [y]
Triangle (down ∇) [v]
Triangle (up Δ) [^]
Triangle (left ) [<]
Triangle (right ) [>]
hexagram [H]

案例二

x=0:0.5:4*pi;
y=sin(x);  h=cos(x);  w=1./(1+exp(-x));
g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');
legend('sin(x)','cos(x)','Sigmoid','Gauss function');

legend - 在坐标区上添加图例
此 MATLAB 函数 为每个绘制的数据序列创建一个带有描述性标签的图例。对于标签,图例使用数据序列的 DisplayName 属性中的文本。如果 DisplayName 属性为空,则图例使用 ‘dataN’ 形式的标签。当您在坐标区上添加或删除数据序列时,图例会自动更新。此命令为 gca 返回的当前坐标区或图形创建图例。如果当前坐标区为空,则图例为空。如果坐标区不存在,此命令将创建坐标区。
MATLAB画图复习(一)_第3张图片

案例三

x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);  
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');

title - 添加标题
此 MATLAB 函数 将指定的标题添加到 gca 命令返回的坐标区或图中。重新发出 title 命令可使新标题替换旧标题。
xlabel - 为 x 轴添加标签
此 MATLAB 函数 将为 gca 命令返回的当前坐标区或图的 x 轴添加标签。重新发出 xlabel 命令会将旧标签替换为新标签。
ylabel - 为 y 轴添加标签
此 MATLAB 函数 将为 gca 命令返回的当前坐标区或图形的 y 轴添加标签。重新发出 ylabel 命令可使新标签替换旧标签。
zlabel - 为 z 轴添加标签
此 MATLAB 函数 使用文本 txt 为当前坐标区的 z 轴添加标签。重新发出 zlabel 命令可使新标签替换旧标签。
MATLAB画图复习(一)_第4张图片

案例四

x = linspace(0,3); y = x.^2.*sin(x); plot(x,y); 
line([2,2],[0,2^2*sin(2)]); 
str = '$$ \int_{0}^{2} x^2\sin(x) dx $$'; 
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);

text - 在封装子系统图标上的特定位置显示文本
text 命令在点 (x,y) 指定的位置放置一个字符向量,单位由 Mask Editor 中的 Icon units 选项定义。
annotation - 创建注释
此 MATLAB 函数 创建一个在当前图窗中的两个点之间延伸的线条或箭头注释。将 lineType 指定为 ‘line’、‘arrow’、‘doublearrow’ 或 ‘textarrow’。将 x 和 y 分别指定为 [x_begin x_end] 和 [y_begin y_end] 形式的二元素向量。
MATLAB画图复习(一)_第5张图片

补充:get() and set()

get - 查询图形对象属性
此 MATLAB 函数 返回 h 标识的图形对象的所有属性和属性值。v 是一个结构体,其字段名称为属性名称,其值为对应的属性值。h 可以是单个对象或 m×n 对象数组。如果 h 是单个对象且您不指定输出参数,则 MATLAB 会在屏幕上显示该信息。
set - 设置图形对象属性
此 MATLAB 函数 为 H 标识的对象指定其 Name 属性的值。使用时须用单引号将属性名引起来,例如,set(H,‘Color’,‘red’)。如果 H 是对象的向量,则 set 会为所有对象设置属性。如果 H 为空(即 []),set 不执行任何操作,但不返回错误或警告。

案例五

x = -10:0.1:10;
y1 = x.^2 - 8;
y2 = exp(x);
figure, plot(x,y1);
figure, plot(x,y2);

figure - 创建图窗窗口
此 MATLAB 函数 使用默认属性值创建一个新的图窗窗口。生成的图窗为当前图窗。
MATLAB画图复习(一)_第6张图片

案例六

t = 0:0.1:2*pi; x = 3*cos(t); y = sin(t);
subplot(2, 2, 1); plot(x, y); axis normal
subplot(2, 2, 2); plot(x, y); axis square
subplot(2, 2, 3); plot(x, y); axis equal
subplot(2, 2, 4); plot(x, y); axis equal tight

subplot - 在平铺位置创建坐标区
此 MATLAB 函数 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。MATLAB 按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区。
axis - 设置坐标轴范围和纵横比
此 MATLAB 函数 指定当前坐标区的范围。以包含 4 个、6 个或 8 个元素的向量形式指定范围。
MATLAB画图复习(一)_第7张图片

保存图片

saveas(gcf,'','');

saveas - 将图窗保存为特定文件格式
此 MATLAB 函数 将 fig 指定的图窗或 Simulink 模块图保存到 filename 文件中。将文件名指定为字符向量或字符串,包括文件扩展名,例如 ‘myplot.jpg’。文件扩展名用于定义文件格式。如果不指定扩展名,则 saveas 会将图窗保存为 FIG 文件。要保存当前图窗,请将 fig 指定为 gcf。

部分内容选自MATLAB官方文档

MATLAB官方文档

你可能感兴趣的:(MATLAB)