失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MATLAB绘图函数plot详解

MATLAB绘图函数plot详解

时间:2020-06-29 06:16:11

相关推荐

MATLAB绘图函数plot详解

一、引言

Matlab软件提供了强大的可视化功能,可以根据给定的曲线上的坐标来绘制曲线图形,也可以根据已知的函数及自变量来绘制曲线图形,也可以只给定自变量的取值范围来绘制曲线,基本的Matlab函数是plot、fplot、ezplot、fimplicit等,本文详述利用plot绘制二维曲线图形的用法。

二、plot基本用法详述

基本语法:

plot(x,y,s)

其中x是横坐标(数组)、y是纵坐标(数组)、s是图元属性

其功能是根据横坐标和纵坐标数组绘制曲线。横坐标和图元属性s均可以缺省。

1)当横坐标缺省时,系统会自动指定横坐标位单位坐标;

2)当缺省s的时候,就是取点连线,即相邻的两个坐标点之间用直线连接,整体图形就是一条折线;

3)当给定了具体的属性s的时候,就根据属性s绘制不同的曲线。

属性s的常见值及图元线型

(一)已知曲线上点的坐标来绘制曲线图形

例1.已知横坐标和纵坐标,绘制曲线图。

%示例代码(1)x = [ 1 : 9 ]; %横坐标y = [1 2 3 4 6 4 3 4 5]; %纵坐标plot( x ,y ) %绘图%运行结果

%示例代码(2)对比给定横坐标和系统缺省横坐标情况x = [ 2 : 0.5 : 6 ]; %横坐标y = [1 2 3 4 6 4 3 4 5]; %纵坐标plot( x ,y ) %根据给定的横坐标和纵坐标绘图hold onplot( y, 'r' ) %根据给定的纵坐标绘图,横坐标为系统缺省,‘r’表示红色%运行结果

(二)已知曲线的函数和自变量取值范围来绘制曲线图形

例2.绘制一个周期内的正弦曲线

%示例代码x = [ 0: 0.01 : 2 ] * pi;%定义横坐标(自变量)的取值(数组)y = sin( x );%计算纵坐标plot( x, y );%利用plot绘制y=sin(x)曲线,此时会系统会新建一个图形窗口xlabel( 'x' );%标记横坐标为xylabel( 'sin(x)' )%标记纵坐标为sin(x)%运行结果

例3.在同一个窗口绘制一个周期内的正弦曲线和余弦曲线

%示例代码(1)x = [ 0: 0.01 : 2 ] * pi;%定义横坐标(自变量)的取值(数组)y1 = sin( x );%计算y=sin(x)纵坐标y2 = cos( x );%计算y=cos(x)纵坐标plot( x, y1, x, y2 );%在一个图形窗口同时绘制y=sin(x)和y=cos(x)曲线legend( 'y=sin(x)', 'y=cos(x)', 'Location', 'northeastoutside' );%添加图例title( 'y=sin(x)和y=cos(x)的曲线' );%添加图的标题%运行结果

%示例代码(2)x = [ 0: 0.05 : 2 ] * pi;%定义横坐标(自变量)的取值(数组)plot( x, sin(x), 'r' );%用红色线绘制y=sin(x)曲线hold onplot( x, cos(x), 'b*' );%用蓝色*绘制y=cos(x)曲线legend( 'y=sin(x)', 'y=cos(x)', 'Location', 'northeastoutside' );%添加图例title( 'y=sin(x)和y=cos(x)的曲线' );%添加图的标题%运行结果

例4.绘制单位圆

%示例代码(1)x = [ -1: 0.01 : 1 ];%定义横坐标(自变量)的取值(数组)y = sqrt( 1 - x.^2 );plot( x, y, 'b', x, -y, 'b' );%绘制单位圆,分上半圆和下半圆title( '单位圆' );%添加图的标题axis equal%运行结果

%示例代码(2)使用极坐标绘图rou = 1;theta= [ 0: 0.05 : 2 ] * pi;%定义极角theta的范围x = rou * cos( theta );%横坐标y = rou * sin( theta );%纵坐标plot( x, y, 'bo' );%用蓝色的o绘制单位圆hold on%保持住当前图形窗口,继续绘制后面的图形plot( x, y, 'r' );%用红色实线再绘制单位圆axis( [ -1.5, 1.5, -1.5, 1.5 ] );%指定坐标轴刻度范围title( '单位圆' );%添加图的标题axis equal%运行结果

例5.绘制分段函数曲线

%示例代码%方法一clear allclcx1 = [ 1 : 5 ];y1 = 6 - x1; x2 = [ 6 : 15 ];y2 = ones( size(x2) );x3 = [ 16 : 20 ];y3 = x3 - 15;xx = [ x1, x2, x3 ];yy = [ y1, y2, y3 ];plot( xx, yy, 'r*' )hold on%方法二(数组元素过滤法)x = [ 1 : 20 ];y( x >= 1 & x <= 5 ) = 6 - x(x >= 1 & x <= 5 );y( x >= 6 & x <= 15 ) = 1;y( x >= 16 & x <= 20 ) = x( x >= 16 & x <= 20 ) - 15;xlen = length( x )ylen = length( y )plot( x, y, 'b' );axis( [ 0, 21, 0, 6 ] );%运行结果

如果觉得《MATLAB绘图函数plot详解》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。