MATLAB 绘画

二维图形

plot函数的基本调用格式为:

plot(x,y)

例:在0≤x≤2区间内,绘制曲线
y=2e-0.5xcos(4πx)
程序如下:

x=0:pi/100:2*pi;
y=2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y)
  1. plot函数最简单的调用格式是只包含一个输入参数:
    plot(y)

当y是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线。

  1. 包含多个输入参数
 plot(x1, y1, x2, y2, …)
  • 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线。
  • 当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
  1. 如果需要绘制出具有不同纵坐标标度的两个图形

可以使用plotyy绘图函数,其格式为:

plotyy(x1,y1,x2,y2)

其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。

y1=0.2e-0.5xcos(4πx) ;
y2=2e-0.5xcos(πx)。
程序如下:
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
y2=2*exp(-0.5*x).*cos(pi*x);
plotyy(x,y1,x,y2);

在这里插入图片描述

图形保持

  1. hold on
    把当前图形保持在当前绘图窗口中不变,同时允许在当前绘图窗口中继续绘制新的图形
  2. hold off
    使新的图形覆盖旧的图形

绘制向量图

可以使用 plot 函数在一张图上绘制两个相同长度的向量。plot(x,y)

创建一个绘图,其中 sample 位于 x 轴,mass1 位于 y 轴。 plot(sample,mass1)

plot(x,y,"r--o")
以上命令将会绘制一条红色 (r) 虚线 (--),并使用圆圈 (o) 作为标记。

在这里插入图片描述
要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:

plot(x1, y1,option1,x2, y2,option2,…)
  • 注意附加参数加引号;
  • 如果指定标记而不是线型,则将仅绘制标记。

多个线条

每个绘图命令都创建了一个单独的绘图。要在一张图上先后绘制两条线,请使用 hold on 命令保留之前的绘图,然后添加另一条线。

输入 hold on 命令。

然后绘制 mass1(y 轴)对 sample(x 轴)的图,并带有黑色 (k) 方形 (s) 标记,不带线条。

hold on

plot(sample,mass1,"ks")

注释

  1. 为现有绘图添加标题 “Sample Mass”。

title("Sample Mass")
  1. 使用 ylabel 函数添加标签 “Mass (g)”。
ylabel("Mass (g)")
  1. 可以使用 legend 函数为绘图添加图例。 legend(“a”,“b”,“c”)

创建一个图例,其中依次包含标签 “Exp A” 和 “Exp B”。

legend("Exp A","Exp B")
  1. text(x, y, S):在图中(x,y)位置标注内容为S的注释

函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。
例如,

text(0.3,0.5,‘sin({\omega}t+{\beta})’)

将得到标注效果sin(ωt+β)。

坐标控制

axis([xmin xmax ymin ymax zmin zmax]):设定坐标范围
axis auto:默认设置
axis normal: 默认矩形坐标系
axis square:产生正方形坐标系(默认为矩形)
axis equal:纵、横坐标轴采用等长刻度
axis tight:把数据范围直接设为坐标范围
axis off:取消坐标轴
axis on:显示坐标轴
  1. grid on/off
    命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换
  2. box on/off
    命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
  3. subplot(m,n,p)
    将图形窗口分成m行n列,p表示子图编号,编号按行优先编号。
    7
t=linspace(0, 2*pi, 25); x=1.5*cos(t); y=3.5*sin(t);
subplot(2,3,1), plot(x,y), grid on, title ('Grid on')
subplot(2,3,2), plot(x,y), axis off, title('axis off')
subplot(2,3,3), plot(x,y), box off, title('Box off')
subplot(2,3,4), plot(x,y,‘r^’), title('红色 上三角')
subplot(2,3,5), plot(x,y,'g-'), title('Green solid')
subplot(2,3,6), plot(x,y,‘c*’), title('青色 八线')

特殊图形

  1. polar函数用来绘制极坐标图
polar(theta,r,option)
其中theta为极坐标极角,r为极坐标矢径,选项的内容与plot函数相似。
  1. hist函数绘制直方图
n = hist(Y)  绘制Y的直方图
n = hist(Y, nbins)  指定分格的数目(默认为10)
x=randn(500,1);
% 正态分布的随机数
% 500行1列
subplot(2,1,1),
hist(x);
subplot(2,1,2),
hist(x,100);

在这里插入图片描述
3. pie 饼图

pie(x)
pie(x, explode)

例题

  1. 例:在同一坐标内,分别用不同线型和颜色绘制曲线
y1=0.2e-0.5xcos(4πx) ;
y2=2e-0.5xcos(πx)。
标记两曲线交叉点。
x=linspace(0,2*pi,1000);
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
y2=2*exp(-0.5*x).*cos(pi*x);
k=find(abs(y1-y2)<1e-2);   
%查找y1与y2相等点(近似相等)的下标
x1=x(k);   %取y1与y2相等点的x坐标
y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);    
%求y1与y2值相等点的y坐标
plot(x,y1,x,y2,'k:',x1,y3,'bp');
  1. 在0≤x≤2区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注
x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}');     %加图形标题
xlabel('Variable X');             %加X轴说明
ylabel('Variable Y');             %加Y轴说明
text(0.8,1.5,'曲线y1=2e^{-0.5x}');    %在指定位置添加图形说明
text(2.5,1.1,'曲线y2=cos(4{\pi}x)'); 
legend('y1', 'y2')                %加图例
  1. 在同一坐标中,可以绘制3个同心圆,并加坐标控制。
    程序如下:
t=0:0.01:2*pi;
x=exp(i*t);
y=[x;2*x;3*x]';
plot(y)
grid on;         % 加网格线
box on;         % 加坐标边框
axis equal     % 坐标轴采用等刻度

Guess you like

Origin blog.csdn.net/weixin_51552144/article/details/117808770