MATLAB曲线绘制的一些技巧和注解

本文详细介绍了MATLAB中二维和三维图形的绘制方法,包括曲线图、统计图、曲面图等多种类型。涵盖基本绘图函数如plot和surf的使用,以及高级功能如图形修饰、动画制作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、二维数据曲线图
1.1  绘制 单根二维曲线
plot  函数的基本调用 格式为:
plot(x,y)
其中 x y 为长度相同的向量,分别用于存储 x 坐标 和 y 坐标数据。

1-1  0≤x≤2p 区间内,绘制曲线
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-2  绘制曲线。
程序如下:
t=0:0.1:2*pi;
x=t.*sin(3*t);
y=t.*sin(t).*sin(t);
plot(x,y);

plot 函数最简单的调用格式是只包含一个输入参数 :
plot(x)
在这种情况下,当 x 是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

1.2  绘制多根二维曲线
1 plot 函数的输入参数是矩阵 形式
(1)  x 是向量, y 是有一维与 x 同维的矩阵时,则绘制出多根不同颜色 的曲线。曲线条数等于 y 矩阵的另一维数, x 被作为这些曲线共同的横坐标。
(2)  x,y 是同维矩阵时,则以 x,y 对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)  对只包含一个输入参数的 plot 函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

2 .含多个输入参数的 plot 函数
调用格式为:
plot(x1,y1,x2,y2,…,xn,yn)
(1)  当输入参数都为向量时, x1 y1 x2 y2 xn yn 分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。
(2)  当输入参数有矩阵形式时,配对的 x,y 按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

1-3  分析下列程序绘制的曲线。
x1=linspace(0,2*pi,100);
x2=linspace(0,3*pi,100);
x3=linspace(0,4*pi,100);
y1=sin(x1);
y2=1+sin(x2);
y3=2+sin(x3);
x=[x1;x2;x3]';
y=[y1;y2;y3]';
plot(x,y,x1,y1-1)

3 .具有两个纵坐标标度的图形
MATLAB 中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用 plotyy 绘图函数。调用格式为:
plotyy(x1,y1,x2,y2)
其中 x1,y1 对应一条曲线, x2,y2 对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于 x1,y1 数据对,右纵坐标用于 x2,y2 数据对。

1-4  用不同标度在同一坐标内绘制曲线 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);

4 .图形保持
hold on/off 命令 控制 是保持原有图形还是刷新原有图形,不带参数的 hold 命令在两种状态之间进行切换。

1-5  采用图形保持,在同一坐标内绘制曲线 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);
plot(x,y1)
hold on
y2=2*exp(-0.5*x).*cos(pi*x);
plot(x,y2);
hold off

1.3  设置曲线样式
MATLAB 提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如, “b-.” 表示蓝色点划线, “y:d” 表示黄色虚线并用菱形符标记数据点。当选项省略时, MATLAB 规定,线型一律用实线,颜色将根据曲线的先后顺序依次。
要设置曲线样式可以在 plot 函数中加绘图选项,其调用格式为:
plot(x1,y1, 选项 1,x2,y2, 选项 2,…,xn,yn, 选项 n)

1-6  在同一坐标内,分别用不同线型和颜色绘制曲线 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.4 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值