matlab中线形_MATLAB在绘图时的用法——线形图

MATLAB有很强的绘图功能,我们可以通过简单的代码画出一些直观而漂亮的代码。

在MATLAB中绘图首先需要设定x的范围,一般使用冒号来创建向量。

x = 0:pi/100:pi; &x 为0到pi之间以pi/100为步长的向量。

一、基本的绘图处理:

1、基本绘图常用函数:

(1) plot() 二维图形的绘制

要求:x和y需要有相同长度的向量

调用形式:

plot(x) :绘制出以x为纵坐标值的折线图,横轴值默认为1、2、3……。

plot(x,y): 绘制出以x向量为自变量的y函数在给出x的范围内的图像。

plot(y): 在给定的x范围内绘制出函数y的图像。

plot(x1,y1,……xn,yn):绘制多个X、Y对组的图,注意所有线条都使用相同的坐标区。(x1,x2,x3……xn都应相同)

plot(x,y'……') 此类形式方便对线形颜色等属性的修改。给形式在后面详述。

>> x = 0:pi/100:2*pi;

>> y = sin(x);

>> y1 = cos(x);

>> plot(x);

>> plot(x,y);

>> plot(x,y,x,y1);

(2) fplot() 符号函数的绘制

函数fplot可以根据函数的表达式自动调整自变量的范围,无须给函数赋值,直接生成能反应函数变化规律的图形,

调用格式:

fplot(y) : 在默认区间[-5 5](对于x)绘制由函数y = f(x)定义的曲线。

fplot(y,xinterval):将在指定区间绘图。将区间指定为[xmin xmax]形式的二元素向量。

fplot(funx,funy):在默认区间[-5 5](对于t)绘制由x = funx(t)和y = funy(t)定义的曲线。

fplot(funx,funy,interval):将在指定区间绘图。将区间指定为[tmin tmax]形式的二元素向量。

fplot( ,linespace) linespace 为线形,次函数可以修改所绘制图像曲线的线形。

>> fplot(@(x) sin(x)) %绘制匿名函数,使用句柄。

>> fplot(@(t)t.*sin(t),@(t)t.*cos(t)) %绘制参数方程,x =t*sin(t);y =t*cos(t);

&其它例子大致相同

注意该fplot函数中的y以及funx,funy所代表的函数,它们一般是以句柄的形式给出。

关于MATLAB中句柄的建立以及使用请参考:Matlab中函数句柄@的作用及介绍 – alexanderkun – 博客园​www.cnblogs.com

(3)plotyy() 双Y轴图形绘制

该函数可以在一个图中创建有两个Y轴的图形。

调用格式:

plotyy(x1,y1,x2,y2): 绘制Y1对X1的图,在左侧显示y轴标签,并同时绘制Y2对X2的图,在右侧显示y轴标签。

plotyy(x1,y1,x2,y2,function):使用指定的绘图函数生成图形。

常见的function函数有plot、semilogx(半对数图中按照x轴的对数刻度绘制数据。)、semilogy(半对数图中使用y轴的对数刻度绘制数据。)、loglog(双对数图)、stem(绘制离散序列数据)

详细参见文末链接。

plotyy(x1,y1,x2,y2,'function1','function2'):使用function1(X1,Y1)绘制左轴的数据,使用function2(X2,Y2)绘制右轴的数据。

>> x = 0:pi/100:2*pi;

>> y1 = sin(x);

>> y2 = cos(x);

>> plotyy(x,y1,x,y2)

>> x = [0,10^6,7]

>> y3 = x;

>> y4 = exp(x);

>> plotyy(x,y3,x,y4,'semilogx')

(4) ezplot() 符号函数的绘制

ezplot()函数与fplot函数的功能基本相似,可以方便地绘制表达式或函数的图形。与fplot函数不同的是函数的表达式显示在图形的上方,同时对坐标轴可以不加任何限制作图。

调用格式:

ezplot(fun): 绘制表达式fun(x)在默认定义域 -2π

ezplot(fun,[xmin,xmax]):绘制fun(x)在以下域上的图形:xmin

对于隐函数,fun2(x,y):

ezplot(fun2) 在默认域 -2π < x < 2π 和 -2π < y < 2π 中绘制 fun2(x,y) = 0。

ezplot(fun2,[xymin,xymax]) 在 xymin < x < xymax 和 xymin < y < xymax 域中绘制 fun2(x,y) = 0。

ezplot(fun2,[xmin,xmax,ymin,ymax]) 在 xmin < x < xmax 和 ymin < y < ymax 域中绘制 fun2(x,y) = 0。

>> subplot(221)

>> ezplot('x^2+sin(x)');

>> subplot(222)

>> ezplot('x^2+sin(x)',[-2,8])

>> subplot(223) %subplot()函数可以在一张图幅上画出多个图像,如下图所示。

>> subplot(2,2,[3,4])

>> ezplot('x^2+sin(x)',[-2,5,-1,20])

对于半对数图,双对数图参考以下链接:半对数图 – MATLAB semilogx – MathWorks 中国​ww2.mathworks.cn半对数图 – MATLAB semilogy – MathWorks 中国​ww2.mathworks.cn双对数刻度图 – MATLAB loglog – MathWorks 中国​ww2.mathworks.cn绘制离散序列数据 – MATLAB stem – MathWorks 中国​ww2.mathworks.cn

本文参考:

清华大学出版社《MATLAB基础与可视化编程》

MATLAB MathWorks官网

—————————————————————————————

本文部分数据、代码和方法介绍来源于网络。

本文仅供大家参考学习,欢迎指正!

更多MATLAB学习资源请入QQ群:953314432。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注