matlab绘图命令总结(重要!!!整理)

编程入门 行业动态 更新时间:2024-10-25 18:27:07


基本的绘图流程:
(1)数据准备。
(2)设置当前绘图区。
(3)绘图。
(4)设置图形中曲线和标记点格式。
(5)设置坐标轴和网格线属性。
(6)标注图形。
(7)保存和导出图形。

1.plot()函数:

  • plot(y) : 以y为实数数组,以y的每列元素为纵坐标,y的指数为横坐标绘制图形。
  • plot(x1,y1,x2,y2,…) : 以xn为横坐标对应yn为纵坐标绘制多条曲线。
  • plot(x1,y1,LineSpec,x2,y2,LineSpec,…) : 以对应的线型属性LineSpec绘制图形,其中包括线的类型(line style),标记点符号(marker symbol),图形线条的颜色等 。


其线型属性可以组合,如:'red-.hexagram’表示:绘制红色的点画线,且每个转折点上用六角星表示。

  • plot(…,‘propertyName’,propertyValue,…) : 绘制图形的同时对所有线条图形的线宽,标记点大小,标记点边框颜色和标记点填充颜色等设置。

例1:绘制出方程y=tan(sin x)−sin(tan x)在x∈[−π,π]区间内的曲线。

x=-pi:pi/10:pi;                  %以pi/10为步长
y=tan(sin(x))-sin(tan(x));       %求出各点上的函数值
plot(x,y,'--rs',...              %绘制红色的虚线,且每个转折点上用正方形表示。
        'LineWidth',2,...        % 设置线宽为2
        'MarkerEdgeColor','k',...% 设置标记点边框线条颜色为黑色
        'MarkerFaceColor','g',...% 设置标记点内部填充颜色为绿色
        'MarkerSize',10)         %设置标记点大小为10

对应Figure为:  

注意:plot函数只将给定点用直线连起来,因此,步长选的过大,曲线将看似一条折线。

例2:用不同的线型和颜色在同一坐标内绘制曲线y=2e^{-0.5x}sin(2pi*x)及其包络线。MATLAB程序如下:

x=[0:pi/100:2*pi]; %数据准备
y1=2*exp(-0.5*x);
y2=2*exp(-0.5*x).*sin(2*pi*x);
plot(x,y1,'k:',x,-y1,'k:',x,y2,'b--')   %y1和-y1为包络线
%将y1和-y1设置为黑色点线,y2设置为蓝色虚线

对应的Figure为:

2.坐标轴的设置和轴刻度设置

2.1 axis函数

  • axis[xmin xmax ymin ymax] : 对当前二维图形对象的x轴和y轴进行设置,其中x轴的刻度范围为[xmin xmax], y轴的刻度范围为[ymin ymax]。
  • axis off : 把坐标轴,刻度,标注和说明变为不显示状态。
  • axis on : 把坐标轴,刻度,标注和说明变为显示状态。
  • axis manual : 冻结当前的坐标轴比例,以后添加绘图都在当前坐标轴范围内显示。
  • axis auto : 恢复系统的自动定比例功能。
  • axis equal : 等比例坐标轴。
  • axis nomal : 自动调整纵横轴比例,使当前坐标轴范围内的图形显示达到最佳效果。
  • axis square : 以当前坐标轴范围为基础,将坐标轴区域调整为方格形。

例:绘制单位圆

clear ;close all; clc
t=[0:0.01:2*pi];            %定义时间范围
x=sin(t);
y=cos(t);
plot(x,y)
axis([-1.5 1.5 -1.5 1.5])    %限定X轴和Y轴的显示范围
grid on
axis('equal')

对应Figure为:

2.2函数set

  • set(gca,‘xtick’,标识向量):x坐标轴刻度数据点位置
  • set(gca,‘xticklabel’,‘字符串|字符串’):x坐标轴刻度处显示的字符。
  • set(gca,‘FontName’,‘Times New Roman’,‘FontSize’,14):设置坐标轴字体名称和大小。
    注意:gca是坐标轴的handle,即标识辨识码

例:

t=0:0.05:7;
plot(t,sin(t))
set(gca,'xtick',[0 1.4 3.14 5 6.28])
set(gca,'xticklabel','0|1.4|half|5|one')

对应Figure为:

3.图形的标注,网格及图例说明

  • title(‘String’) :在坐标系的顶部添加一个文本串String,作为图形的标题。
  • xlabel(‘String’),ylabel(‘String’):采用字符串给x轴,y轴标注。
  • text(x,y,‘string’):在二维图形(x,y)位置处标注文本注释’string’。
  • gtext(‘string’):拖动鼠标确定文字’string’的位置,再单击鼠标左键。

例:绘制分段函数,并添加图形标注

clc
close all
clear
x=0:0.05:10; %数据准备
y=zeros(1,length(x));%生成一个1行length(x)列的矩阵。
for n=1:length(x)
    if x(n)>=8
      y(n)=1;
    elseif x(n)>=6
      y(n)=5-x(n)/2
    elseif x(n)>=4
      y(n)=2
    else
      y(n)=sqrt(x(n))
    end
end
plot(x,y)%画出图形
axis([0 10 0 2.5])   %设置坐标轴的范围
title('分段函数曲线');  %添加图形标题
xlabel('x')     %给x轴标注
ylabel('y')     %给y轴标注
text(2,1.3, 'y=x^{1/2}');  %在(2,1.3)处添加文本注释
text(4.5,1.9, 'y=2');    %在(4.5,1.9)处添加文本注释
text(7.3,1.5, 'y=5-x/2');
text(8.5,0.9, 'y=1');

对应Figure 为:

  • figure,:打开不同的图形窗,以绘制不同的图形。
  • grid on:对当前坐标轴添加网格。
  • hold on:保持当前图形窗口内容命令,防止图形被下个图形覆盖。

例:分别绘制正余弦曲线,并绘制标题,添加或删去网格。

close all
clc
clear                   
t=[0:pi/20:9*pi];       %定义时间范围
figure(1)               %建立图形窗口1
plot(t,sin(t),'r:*')    %以红色的点绘制正弦函数图形,图形的标识符为星
grid on                 %在所画出的图形坐标中添加栅格,注意用在plot之后
text(pi,0,' \leftarrow sin(\pi)','FontSize',18) %在(pi,0)处添加左箭头和sin(pi)文本标识,字体大小为18
title('添加栅格的正弦曲线')%添加图形标题
xlabel('x')             %添加x坐标轴标识
ylabel('sint')          %添加y坐标轴标识

figure(2)      %建立图形窗口2
plot(t,cos(t)) %绘制余弦函数图形
grid on        %打开网格
pause          %暂停
grid off       %删除栅格
text(pi,0,' \leftarrow cos(\pi)','FontSize',18)   %添加文本标识
title('去除栅格的余弦曲线')  %添加图形标题
xlabel('x')    %添加x坐标轴标识
ylabel('cost') %添加y坐标轴标识

对应Figure为:

  • lenged(‘String1’,‘String2’,…):在当前图形中添加图例。
  • lenged(…,pos):由pos确定图例标注位置。
    pos = 0 表示放置图例在轴边界内;
    pos = 1 表示放置图例在轴边界内右上角(为默认设置);
    pos = 2表示放置图例在轴边界内左上角;
    pos = 3表示放置图例在轴边界内左下角;
    pos = 4表示放置图例在轴边界内右下角。

例:给正余弦函数添加图例

x=-pi:pi/20:pi;
plot(x,cos(x),'-ro',x,sin(x),'-.b')
h=legend('cos','sin',2);

对应Figure为:

4. 函数绘图命令和分割图形显示窗口命令

  • fplot(‘funtion’,limits):绘制函数曲线在一个指定范围内,limits可以为[xmin xmax]或者[xmin xmax ymin ymax]
  • subplot(m,n,p):将一个图形窗口分成mxn个子窗口,从左往右,从上往下第p个子图形窗口。

例:

subplot(2,2,1),fplot('humps',[0 1])
subplot(2,2,2)
fplot('abs(exp(-j∗x∗(0:9))∗ones(10,1))',[0 2∗pi])
subplot(2,2,3)
fplot('[tan(x),sin(x),cos(x)]',2∗pi∗[-1 1 -1 1])
subplot(2,2,4)
fplot('sin(1./x)',[0.01 0.1],1e-3)

对应Figure为:

5.函数ezplot
无需数据准备,可以直接画出函数的图形,可用于显函数,隐函数,参数方程作图。

  • ezplot(f):f是关于x的函数(-2pi<x<2pi)

例:ezplot(‘sin(x)’)

  • ezplot(f(x,y)):f(x,y) = 0,隐函数,(-2pi<x<2pi,-2pi<y<2pi)

例:

syms x y
ezplot('x^3+y^3-3*x*y')
grid on 

  • eaplot(f,[A B])f是关于x的函数(A<x<B)

例:ezplot(‘sin(x)’,[-3,3])

  • ezplot(f(x,y):[XMIN,XMAX,YMIN,YMAX]):f(x,y)=0,隐函数

例:ezplot(‘x3+y3-3xy’,[-9,9,-6,6])

  • ezplot(f1,f2):画关于变量T的参数方程(0<T<2*pi)
syms t
ezplot(3*sin(t),3*cos(t))

  • ezplot(f1,f2,[TMIN,TMAX])(TMIN<T<TMAX)

例:ezplot(3sin(t),3cos(t),[-2,2])

6.函数solve
solve()用来求解代数方程的解析解或者精确解

  • solve(eq)
  • solve(eq,var)
  • solve(eq1,eq2,eq3,…,eqn)
  • solve(eq1,eq2,…,eqn,var1,var2,…,varn)
    eq代表方程,var代表变量
syms a u v; 
A = solve(‘a*u^2 + v^2′, ‘u – v = 1′, ‘a^2 – 5*a + 6′) 

求解结果为
A = a: [4x1 sym]
  u: [4x1 sym]
  v: [4x1 sym]
对于查看具体的数值可以通过
Aa = A.a
Au = A.u
Av = A.v

更多推荐

matlab绘图命令总结(重要!!!整理)

本文发布于:2023-06-13 16:59:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1384963.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:命令   matlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!