matlab空间曲线展开,MATLAB曲线绘制的一些技巧和注解

一。 二维数据曲线图

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坐标

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值