【MATLAB绘图进阶教程】(2-3)矢量场图(quiver)与流线图(streamline)

在这里插入图片描述

矢量场图(quiver)用于用箭头直观表示场中各点的方向与大小,常见于速度场、力场可视化。
流线图(streamline)则描绘场中粒子的连续轨迹,展示整体流动趋势,适合流体、风场等分析。本文给出详细讲解,如需查看完整内容,请订阅专栏

矢量场图(Quiver)

概念

矢量场图通过箭头表示场中每个点的方向和大小常用于描述速度场、力场、电磁场等。

使用场景

  • 流体力学:显示流体在各位置的速度方向与大小
  • 电磁场可视化:表示磁场/电场方向
  • 导航与机器人学:展示机器人或无人机的速度向量
  • 物理仿真:显示粒子运动趋势

基本语法

quiver(X, Y, U, V)             % 基本矢量场
quiver(X, Y, U, V, scale)      % 缩放箭头长度
quiver(X, Y, U, V, 'Color','r') % 指定颜色
  • X, Y:箭头起点坐标
  • U, V:箭头水平与垂直分量
  • scale:箭头长度缩放因子

简单的例程示例

clc;clear;close all;
% 简单矢量场图
figure;
[x, y] = meshgrid(-2:1:2, -2:1:2); % 网格
u = -y; v = x;                     % 分量(旋转场)
quiver(x, y, u, v, 0.5, 'r');      % 绘制箭头
axis equal; grid on;
title('简单矢量场图');

运行结果:
在这里插入图片描述

进阶示例

clear; clc;

% 创建网格
[X, Y] = meshgrid(-2:0.4:2, -2:0.4:2);

% 定义一个简单的涡旋矢量场
U = -Y;
V = X;

% 计算矢量的大小
magnitude = sqrt(U.^2 + V.^2);

figure;
% 进阶方法:使用scatter + quiver组合
quiver(X, Y, U, V, 1.5, 'k');  % 先画黑色箭头
hold on;
scatter(X(:), Y(:), 50, magnitude(:), 'filled');  % 用散点图显示颜色
colorbar;
colormap(jet);
title('quiver + scatter示例');
axis equal;

特点:

  • 添加颜色,辅助(直观)展示矢量大小
  • axis equal 保持比例不失真
  • 适合展示旋转场、速度场

运行结果:

在这里插入图片描述

流线图(Streamline)

概念

流线图用于描绘流场的轨迹,箭头沿流动方向排列,表示场的整体流向。

使用场景

  • 流体模拟:可视化流体颗粒的运动轨迹
  • 风场分析:气象学中展示风向与风速
  • 磁力线可视化:展示磁场的方向分布
  • 路径规划:机器人或无人机路径生成参考

基本语法

streamline(X, Y, U, V, startX, startY)
  • X, Y:网格坐标
  • U, V:速度分量
  • startX, startY:流线起点坐标

简单例程

figure;
% 网格与流场
[x, y] = meshgrid(-2:0.2:2, -2:0.2:2);
u = -y; 
v = x; % 旋转场

% 流线起点
startx = -1.5:0.5:1.5;
starty = -1.5:0.5:1.5;
% 绘制流线
streamline(x, y, u, v, startx, starty);
hold on;

运行结果:
在这里插入图片描述

进阶示例

figure;
% 网格与流场
[x, y] = meshgrid(-2:0.2:2, -2:0.2:2);
u = -y; 
v = x; % 旋转场

% 流线起点
startx = -1.5:0.5:1.5;
starty = -1.5:0.5:1.5;
% 绘制流线
streamline(x, y, u, v, startx, starty);
hold on;

% 叠加矢量场
quiver(x, y, u, v, 0.5, 'Color', [0.3 0.3 0.3], 'LineWidth', 0.8);

% 美化
axis equal;
grid on;
xlabel('X'); ylabel('Y');
title('流线与矢量场结合示例');
set(gca, 'FontSize', 11, 'LineWidth', 1.2, ...
    'GridLineStyle', ':', 'GridColor', [0.5 0.5 0.5]);

特点:

  • 流线 + 矢量场结合展示
  • 流场结构清晰
  • 适合做风场、旋涡、流体轨迹演示

运行结果:
在这里插入图片描述

例程文件

上述例程归档为一个mlx文件,打开后可直接运行、得到结果:
在这里插入图片描述

如果需要,可自行下载:

通过网盘分享的文件:2.3 矢量场图与流线图
链接: https://pan.baidu.com/s/1KNscZoHhjG10vyD6enX_Eg?pwd=w5vp 提取码: w5vp

如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB卡尔曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值