当前位置: 首页 > news >正文

Matlab绘图

Matlab绘图

  • MATLAB 绘图
    • 一、基本绘图函数 plot
      • 1.1 基本语法
      • 1.2 样式字符串 s 的格式:
    • 二、函数绘图 ezplot
      • 2.1 显函数绘图
      • 2.2 隐函数绘图
      • 2.3 参数方程绘图
    • 三、其他二维图
      • 3.1 条形图 bar
      • 3.2 阶梯图 stairs
      • 3.3 杆图 stem
      • 3.4 填充图 fill
      • 3.5 极坐标图 polar
      • 3.6 饼图 pie
      • 3.7 复数相量图
    • 四、三维绘图函数
      • 4.1 三维线图 plot3
      • 4.2 网格生成 meshgrid
      • 4.3 网格图 mesh
      • 4.4 曲面图 surf
      • 4.5 加边框的网格图 meshz
      • 4.6 球体 sphere
      • 4.7 圆柱体 cylinder
      • 4.8 峰值函数 peak
    • 五、散点图与等高线图
      • 5.1 二维散点图 scatter
      • 5.2 等高线图 contour
      • 5.3 三维散点图 scatter3
      • 5.4 三维等高线 contour3
    • 六、图形控制与标注
      • 6.1 网格线 grid
      • 6.2 边框 box
      • 6.3 标签 xlabel、ylabel、zlabel
      • 6.4 标题 title
      • 6.5 添加文本 text、gtext
      • 6.6 轴范围控制 axis
      • 6.7 多图重叠 hold
      • 6.8 新建图形窗口 figure
      • 6.9 子图 subplot

MATLAB 绘图

本篇文档介绍 MATLAB 中常用的绘图函数,包括二维、三维绘图函数及其控制方式,并涵盖坐标轴标注与图形调整指令。

一、基本绘图函数 plot

1.1 基本语法

plot(x, y)                  % 基本绘图
plot(x, y, s)              % 使用样式字符串s绘图
plot(x1, y1, s1, x2, y2, s2)   % 同时绘制多个函数

1.2 样式字符串 s 的格式:

  • 线型:'-'(实线),'--'(虚线),':'(点线),'-.'(点划线)
  • 颜色:'r' 红,'g' 绿,'b' 蓝,'k' 黑,'m' 品红,'c' 青,'y'
  • 标记:'o' 圆圈,'x' 叉号,'+' 加号,'*' 星号
>> x = 0:0.1:2*pi;
>> y1 = sin(x);
>> y2 = cos(x);
>> plot(x, y1, '-r*', x, y2, ':b');

在这里插入图片描述

二、函数绘图 ezplot

2.1 显函数绘图

语法:

ezplot('f(x)', [x_min, x_max])

示例:

>> ezplot('sin(x)', [0, 2*pi])

在这里插入图片描述
2016)

2.2 隐函数绘图

语法:

>> ezplot('f(x,y)', [x_min, x_max, y_min, y_max])

示例:

>> ezplot('x^2 + y^2 - 4')    % 圆的隐函数

在这里插入图片描述

>> ezplot('x^2 + y^2 - 4', [1, 2, 1, 2])   

在这里插入图片描述
)

2.3 参数方程绘图

语法:

>> ezplot('x(t)', 'y(t)', [t_min, t_max])

示例:

>> ezplot('cos(t)', 'sin(t)', [0, 2*pi])  % 单位圆

在这里插入图片描述

三、其他二维图

3.1 条形图 bar

语法:

bar(x, y, s)
  • x表示横坐标
  • y表示纵坐标
  • s与plot中的功能一样

示例:

>> y = [1 3 5 2];
>> bar(["a" "b" "c" "d"], y)

在这里插入图片描述

3.2 阶梯图 stairs

语法:

stairs(x, y, s)
  • x表示横坐标,只能为数值型
  • y表示纵坐标
  • s与plot中的功能一样

示例:

>> y = [1 3 5 2];
>> stairs([1 2 3 7], y)

在这里插入图片描述

3.3 杆图 stem

语法:

stem(x, y, s)
  • x表示横坐标
  • y表示纵坐标
  • s与plot中的功能一样

示例:

>> y = [1 3 5 2];
>> stem([1 2 3 7], y)

在这里插入图片描述

3.4 填充图 fill

绘制x,y对应位置上的元素构成的点围成的图像
语法:

fill(x, y, c)
  • x表示横坐标
  • y表示纵坐标
  • c表示颜色

示例:

>> x = [0 1 1 0];
>> y = [0 0 1 1];
>> fill(x, y, 'g')

在这里插入图片描述

3.5 极坐标图 polar

语法:

polar(theta, rho, s)
  • theta表示极角
  • rho表示长度
  • s与plot中的功能一样

示例:

>> theta = linspace(0, 2*pi, 100);
>> r = sin(2*theta);
>> polar(theta, r)

在这里插入图片描述

3.6 饼图 pie

语法:

pie(x, explode, labels)
  • x表示数值
  • explode为逻辑向量,表示是否要把对应扇形炸开
  • labels为向量,表示对应扇形的标签

示例:

>> x = [1 2 3];
>> pie(x)

在这里插入图片描述

>> x = [1 2 3];
>> pie(x, [1 0 0])

在这里插入图片描述

>> x = [1 2 3];
>> pie(x, [1 0 0], ["a" "b" "c"])

在这里插入图片描述

3.7 复数相量图

语法:

compass(z, s)
  • z是一个复数向量
  • s与plot中的功能一样

示例:

>> z = [1+2i, 2+1i, 1-1i];
>> compass(z)

在这里插入图片描述

四、三维绘图函数

4.1 三维线图 plot3

语法:

plot(x, y, z)                  % 基本绘图
plot(x, y, z, s)              % 使用样式字符串s绘图
plot(x1, y1, z1, s1, x2, y2, z2, s2)   % 同时绘制多个函数

示例:

>> t = linspace(0, 10, 100);
>> plot3(cos(t), sin(t), t)

在这里插入图片描述

4.2 网格生成 meshgrid

语法:

[X,Y] = meshgrid(x,y)

等价于X=ones(size(y))*x,Y=y*ones(size(x))y得接转置符号'

>> x = 1:3;
>> y = (10:10:30)';>> X = ones(size(y)) * x, Y = y * ones(size(x))X =1     2     31     2     31     2     3Y =10    10    1020    20    2030    30    30>> [X, Y]=meshgrid(x, y)X =1     2     31     2     31     2     3Y =10    10    1020    20    2030    30    30

4.3 网格图 mesh

语法:

mesh(x, y, z)
  • x横坐标
  • y纵坐标
  • z第三维坐标

示例:

>> [x, y] = meshgrid(-5:0.5:5);
>> z = sin(sqrt(x.^2 + y.^2));
>> mesh(x, y, z)

在这里插入图片描述

4.4 曲面图 surf

语法:

surf(x, y, z)
  • x横坐标
  • y纵坐标
  • z第三维坐标

示例:

>> [x, y] = meshgrid(-5:0.5:5);
>> z = sin(sqrt(x.^2 + y.^2));
>> surf(x, y, z)

在这里插入图片描述

4.5 加边框的网格图 meshz

语法:

meshz(x, y, z)
  • x横坐标
  • y纵坐标
  • z第三维坐标

示例:

>> [x, y] = meshgrid(-5:0.5:5);
>> z = sin(sqrt(x.^2 + y.^2));
>> meshz(x, y, z)

在这里插入图片描述

4.6 球体 sphere

语法:

[x, y, z] = sphere(n)
  • n:球面在经纬方向的分段数,决定了生成球面的精细程度。
    • 例如,n = 10 表示经纬线各划分为 10 段,总共 (n+1)×(n+1) 个点。
    • n 越大,球面越平滑;n 越小,球体越粗糙。
  • 返回值 x, y, z(n+1)×(n+1) 的矩阵,表示球面坐标网格。

示例:

>> [x, y, z] = sphere(30);
>> surf(x, y, z)

在这里插入图片描述

>> [x, y, z] = sphere(90);
>> surf(x, y, z)

在这里插入图片描述

4.7 圆柱体 cylinder

语法:

[x, y, z] = cylinder(R, n)
  • R:一个向量,指定每层的半径,例如 [1 0.5 0] 表示从底到顶的变化。
  • n:圆周方向上的分段数量(将圆平均划分为 n 等分)。
  • 返回值 x, y, z(n+1)×length(R) 的矩阵,表示圆柱的坐标点。

示例:

>> [x, y, z] = cylinder(1, 50);
>> surf(x, y, z)

在这里插入图片描述

[x, y, z] = cylinder(1, 500);
surf(x, y, z)

在这里插入图片描述

>> [x, y, z] = cylinder([1 0]);
>> surf(x, y, z)

在这里插入图片描述

>> [x, y, z] = cylinder([1 0.5 0 1]);
>> surf(x, y, z)

在这里插入图片描述

4.8 峰值函数 peak

语法:

Z = peaks(n)
[X, Y, Z] = peaks(n)
  • n:用于生成 n×n 网格的数据点数,决定函数采样精度。
    • 越大越精细,默认值为 49。
    • peaks 会返回一个形如山峰的三维函数,用于演示 surf、mesh、contour 等图形。

示例:

>> z = peaks(25);
>> surf(z)

在这里插入图片描述

>> [X, Y, Z] = peaks(50);
>> surf(X, Y, Z)

在这里插入图片描述

五、散点图与等高线图

5.1 二维散点图 scatter

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)

在这里插入图片描述

5.2 等高线图 contour

contour(x, y, z)
>> x = -2*pi:0.1:2*pi;
>> y = -2*pi:0.1:2*pi;
>> [X, Y] = meshgrid(x, y);
>> Z = sin(X) .* cos(Y);
>> contour(X, Y, Z)

在这里插入图片描述

5.3 三维散点图 scatter3

z = rand(1, 50);
scatter3(x, y, z)
>> x = rand(1, 50);
>> y = rand(1, 50);
>> z = rand(1, 50);
>> scatter3(x, y, z)

在这里插入图片描述

5.4 三维等高线 contour3

contour3(x, y, z)
>> x = -2*pi:0.1:2*pi;
>> y = -2*pi:0.1:2*pi;
>> [X, Y] = meshgrid(x, y);
>> Z = sin(X) .* cos(Y);
>> contour3(X, Y, Z)

在这里插入图片描述

六、图形控制与标注

6.1 网格线 grid

grid on
grid off

示例:

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)
>> grid on

在这里插入图片描述

6.2 边框 box

box on
box off

示例:

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)
>> grid on
>> box on

在这里插入图片描述

6.3 标签 xlabel、ylabel、zlabel

xlabel('X 轴')
ylabel('Y 轴')
zlabel('Z 轴')

示例:

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)
>> xlabel('X 轴')
>> ylabel('Y 轴')

在这里插入图片描述

6.4 标题 title

title('绘图标题')

示例:

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)
>> xlabel('X 轴')
>> ylabel('Y 轴')
>> title('散点图')

在这里插入图片描述

6.5 添加文本 text、gtext

语法:

text(x, y, '文本标注')
gtext('点击位置添加')

text将在位置 ( x , y ) (x,y) (x,y)处添加文本,gtext执行后鼠标点击在哪里就会在哪里添加文本。
示例:

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)
>> text(0.1, 0.2, '文本标注')
>> gtext('点击位置添加')

在这里插入图片描述

6.6 轴范围控制 axis

axis([xmin xmax ymin ymax])   % 设置 XY 轴范围
axis auto                     % 将坐标轴范围返回到默认状态

示例:

>> x = rand(1, 50);
>> y = rand(1, 50);
>> scatter(x, y)
>> axis([0 0.5 0 0.5])
>> axis auto

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.7 多图重叠 hold

hold on    % 继续在当前图形上绘图
hold off   % 关闭重叠绘图

示例:

>> x = 1:5x =1     2     3     4     5>> y = 1:5y =1     2     3     4     5>> plot(x, y)

在这里插入图片描述

>> hold on
>> plot([2 3 5], [8 10 15])

在这里插入图片描述

6.8 新建图形窗口 figure

figure      % 新窗口
figure(2)   % 指定编号

示例:

>> figure
>> figure(2)
>> figure(10)

在这里插入图片描述

6.9 子图 subplot

>> subplot(2, 2, 1)   % 创建 2x2 网格的第1个子图
>> plot([1:5], [1:5])
>> subplot(2, 2, 2)   % 创建 2x2 网格的第2个子图
>> plot(sin([1:5]), cos([1:5]))
>> subplot(2, 2, 3)   % 创建 2x2 网格的第3个子图
>> plot([1:5], [1:5].^2)
>> subplot(2, 2, 4)   % 创建 2x2 网格的第4个子图
>> plot([1:5], [1:5].^3)

在这里插入图片描述

相关文章:

  • 快手可灵视频V1.6模型API如何接入免费AI开源项目工具
  • 【Java EE初阶 --- 多线程(初阶)】多线程的实现案例
  • 达芬奇(DaVinci Resolve)下载安装教程
  • rate-limit 为 java 设计的渐进式限流开源工具
  • 《类和对象--继承》
  • MySQL问题:count(*)与count(1)有什么区别
  • 基于springboot的家政服务预约系统
  • 消除F/1噪声
  • PMI Suite V5.9.125 (Byos and Byosphere)2025年5月15日版本PMI Suite V5.9
  • 前端面经高阶组件HOC 和 HOOKS Redux
  • 基于springboot的民间文化艺术品销售系统
  • GNURadio实现MIMO OFDM文件传输
  • Day10
  • Redis数据类型操作命令
  • 对抗攻击 Adversarial Attack
  • 空间智能重塑未来治理
  • world quant教程学习
  • 车载诊断架构 --- DTC消抖参数(Trip Counter DTCConfirmLimit )
  • 振动力学:有阻尼单自由度系统
  • Vue组件通信
  • wordpress 七牛oss/网站seo软件
  • 个人网站/一个新品牌怎样营销推广
  • 厦门网站建站/全国疫情最新消息
  • 烫画图案设计网站/如何优化企业网站
  • dz论坛怎么做视频网站吗/官网设计公司
  • 手机免费代理ip/重庆的seo服务公司