【Matlab】二维绘图函数汇总

目录

[1. plot()](#1. plot())

[2. subplot()](#2. subplot())

[3. fplot()](#3. fplot())

[4. polarplot()](#4. polarplot())


1. plot()

plot() 函数是 Matlab 中最常用的绘图函数,用于在平面直角坐标系中绘制直线或曲线。

用法:

plot(X,Y)

plot(X,Y,LineSpec)

plot(X1,Y1, ... ,Xn,Yn)

说明:

plot(X,Y)

**·**如果 X 和 Y 都是向量,则它们的长度必须相同。plot() 函数绘制一条曲线,曲线上点的坐标由 X 与 Y 对应位置的元素决定。

**·**如果 X 和 Y 都是矩阵,则它们的大小必须相同。plot() 函数绘制多条曲线,每条曲线上点的坐标由 X 与 Y 列方向上对应位置的元素决定。

plot(X,Y,LineSpec)

**·**绘制一条曲线,LineSpec 是一个字符向量或字符串,用于指定曲线的线型、标记或颜色,表示线型、标记或颜色的字符可以按任意顺序组合。

plot(X1,Y1, ... , Xn,Yn)

· 在同一坐标轴中绘制多条曲线,X1,Y1, ... , Xn,Yn 是长度相同的向量。

示例:

(1)绘制 sin(x) 曲线。

Matlab 复制代码
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

(2)绘制带标记的 sin(x) 曲线。

Matlab 复制代码
x = linspace(0,10);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:5:length(y))

(3)在同一坐标轴中绘制 sin(x) 与 cos(x) 曲线。

Matlab 复制代码
x = linspace(0,2*pi,100);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2)

2. subplot()

subplot() 函数用于创建绘图网格,并指定当前绘图的位置,在调用绘图函数之前使用。

用法:

subplot(m,n,p)

subplot(m,n,a,b)

说明:

subplot(m,n,p)

· 将图窗划分为 m x n 的网格,并指定网格 p 为当前要绘图的区域。

subplot(m,n,a,b)

· 将图窗划分为 m x n 的网格,并指定网格 a 到 b 为当前要绘图的区域。

示例:

(1)在上下排列的两个子图中分别绘制 sin(x) 与 sin(5x) 曲线。

Matlab 复制代码
subplot(2,1,1);
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)

subplot(2,1,2); 
y2 = sin(5*x);
plot(x,y2)

(2)创建包含三个子图的图窗,上半部分包含两个子图,分别绘制 cos(x) 与多项式函数曲线,下半部分包含第三个子图,同时绘制两条曲线。

Matlab 复制代码
subplot(2,2,1);
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine')

subplot(2,2,2);
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial')

subplot(2,2,[3,4]);
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')

3. fplot()

fplot() 函数用于符号绘图或者参数方程绘图,新版本 Matlab 已不推荐使用 ezplot() 函数,改用 fplot().

用法:

fplot(f)

fplot(f,xmin,xmax)

fplot(fx,fy)

说明:

fplot(f)

· 在默认区间 -5, 5 (对于 x)绘制由函数 y = f(x) 定义的曲线,f 可以是符号表达式或函数句柄。

fplot(f,xmin,xmax)

· 在指定区间 xmin, xmax 绘制由函数 y = f(x) 定义的曲线。

fplot(fx,fy)

· 在默认区间 -5, 5 (对于 t)绘制由函数 x = fx(t) 和 y = fy(t) 定义的曲线。

示例:

(1)绘制 sin(x) 曲线,区间 -5,5

Matlab 复制代码
fplot(@(x) sin(x))

(2)绘制由参数方程 x = cos(3t) , y = sin(2t) 定义的曲线。

Matlab 复制代码
xt = @(t) cos(3*t);
yt = @(t) sin(2*t);
fplot(xt,yt)

4. polarplot()

polarplot() 函数用于在极坐标中绘制曲线,新版本 Matlab 已不推荐使用 polar() 函数,改用 polarplot().

用法:

polarplot(theta,rho)

polarplot(theta,rho,LineSpec)

polarplot(theta1,rho1, ... , thetaN,rhoN)

说明:

polarplot(theta,rho)

· 以 theta 为弧度角,rho 为半径,在极坐标中绘制曲线。

polarplot(theta,rho,LineSpec)

· 以 theta 为弧度角,rho 为半径,在极坐标中绘制曲线。LineSpec 是一个字符向量或字符串,用于指定曲线的线型、标记或颜色,表示线型、标记或颜色的字符可以按任意顺序组合。

polarplot(theta1,rho1, ... , thetaN,rhoN)

· 在同一极坐标系中绘制多条曲线,弧度角分别为 theta1, ... , thetaN,半径分别为 rho1, ... , rhoN.

示例:

(1)在极坐标中绘制 r = sin(2θ)*cos(2θ) 曲线。

Matlab 复制代码
theta = 0:0.01:2*pi;
rho = sin(2*theta).*cos(2*theta);
polarplot(theta,rho)
相关推荐
sleven fung12 分钟前
MinerU与BabelDOC与KTransformers与OpenAI API库
开发语言·python·ai·langchain
AOwhisky21 分钟前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
我爱C编程22 分钟前
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
网络·matlab·ecc·密钥管理·无线传感器网络·簇内分组
萤萤七悬25 分钟前
【Python笔记】AI帮实现CLI工具-使用argparse.ArgumentParser接收命令参数
开发语言·笔记·python
iCxhust34 分钟前
C# 命令行指令 查看二进制文件
开发语言·单片机·嵌入式硬件·c#·proteus·微机原理·8088单板机
csdn_aspnet39 分钟前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
guygg881 小时前
二维电子气在三角形势阱中的量子特性计算
matlab
诸葛务农1 小时前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法
oort1231 小时前
VLStream:全开源决策式AI视频平台,赋能企业构建自主可控、降本增效的智能视觉应用介绍
大数据·开发语言·人工智能·开源·音视频·数据库架构
c238562 小时前
c/c++中的多态(上)
开发语言·c++