streamparticles
绘制流粒子
语法
说明
streamparticles(___,
通过使用一个或多个名称-值参量设置属性来修改流粒子动画和外观。例如,您可以使用 Name,Value
)Marker
属性设置粒子的形状。需要在上述任一语法中的所有参量之后指定名称-值参量。有关属性列表,请参阅 Line 属性。
streamparticles(
使用目标对象创建流粒子图。如果目标对象是 target
,___)Axes
对象,则 MATLAB® 在指定的坐标区中而不是当前坐标区 (gca
) 中绘图。如果目标对象是 Line
对象,则更新线条属性以创建流粒子,而不是创建新 Line
对象。
返回包含所有粒子顶点的 lineobj
= streamparticles(___)Line
对象。
示例
绘制流粒子
创建两条流线图的顶点,指定为 15×2 矩阵中的 x 和 y 坐标。将 streamparticles
的顶点输入定义为元胞数组,其中每个元素表示一条流线。
x = linspace(0,2*pi,15); y1 = sin(x); y2 = sin(x) + 1; s1 = [x;y1]'; s2 = [x;y2]'; verts = {s1,s2};
在流线图的每个顶点上绘制粒子。
streamparticles(verts);
指定流粒子的密度
使用位置和速度矩阵定义一个向量场。使用 streamslice
生成向量场中流线图的顶点,并将顶点存储在 verts
中。
[x,y] = meshgrid(-10:10); u = 2.*x.*y; v = y.^2 - x.^2; [verts,~] = streamslice(x,y,u,v);
用 streamline
绘制流线图。然后,用 streamparticles
绘制 100 个粒子。默认情况下,粒子均匀分布在所有顶点上。
streamline(verts); streamparticles(verts,100);
对于同一个向量场,通过将 ParticleAlignment
属性设置为 "on"
,在具有最多顶点的流线图上均匀绘制五个粒子。streamparticles
函数使用该间距在其余流线图上绘制粒子。
streamline(verts); streamparticles(verts,5,"ParticleAlignment","on");
对于同一个向量场,将 5% 的流线图顶点绘制为粒子。
streamline(verts); streamparticles(verts,0.05);
指定流粒子的动画速率
创建向量场的顶点,并绘制其流线图和流粒子。通过分别设置 Animate
和 FrameRate
属性,以每秒 30 帧的速度为粒子设置五次迭代的动画。
[x,y] = meshgrid(-10:10); u = 2.*x.*y; v = y.^2 - x.^2; [verts,~] = streamslice(x,y,u,v); streamline(verts); streamparticles(verts,100,"Animate",5,"FrameRate",30);
修改流粒子的外观
创建向量场的顶点,并绘制其流线图和流粒子。通过设置 Marker
和 MarkerEdgeColor
属性,对粒子使用绿色星号标记。
[x,y] = meshgrid(-10:10); u = 2.*x.*y; v = y.^2 - x.^2; [verts,~] = streamslice(x,y,u,v); streamline(verts); streamparticles(verts,150,"Marker","*","MarkerEdgeColor",[0 0.5 0]);
输入参数
verts
— 流线图坐标数据
元胞数组
流线图坐标数据,指定为元胞数组(由 stream2
、stream3
或 streamslice
返回)。元胞数组的每个元素是定义一个流线图的二维或三维顶点的矩阵,其中每行表示一个粒子的坐标。
n
— 流粒子的数量
1
(默认) | 正值
流粒子的数量,指定为正值。
如果
n
大于1
,则streamparticles
绘制大约n
个粒子。如果
n
小于或等于1
,则streamparticles
将一定百分比的顶点绘制为粒子。例如,如果n
为0.2
,则streamparticles
绘制大约 20% 的顶点。
默认情况下,streamparticles
在所有流线图顶点上均匀绘制由 n
确定的粒子数。但是,如果将 ParticleAlignment
属性设置为 "on"
,streamparticles
会在顶点最多的流线图上均匀绘制粒子,然后将该粒子间距用于其他流线图。
target
— 目标对象
Axes
对象 | Line
对象
目标对象,指定为 Axes
或 Line
对象。
Axes
对象 -streamparticles
在指定坐标区而不是当前坐标区中绘图。Line
对象 - 更新线条属性以创建流粒子,而不是创建新Line
对象。
您可以在 streamparticles
图中显示图例,方法是创建一个 Line
对象,调用 legend
,然后以该行作为目标对象调用 streamparticles
。
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
示例: streamparticles(verts,MarkerFaceColor="blue")
为流粒子指定蓝色标记。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: streamparticles(verts,"MarkerFaceColor","blue")
为流粒子指定蓝色标记。
注意
此处列出的线条属性只是可以更改粒子外观的部分属性。有关完整列表,请参阅 Line 属性。
Animate
— 动画迭代次数
0
(默认) | 非负整数
动画迭代次数,指定为非负整数。默认情况下,Animate
的值为 0
,这表示没有流粒子运动。如果值为 Inf
,动画将继续,直到您按下 Ctrl+C。
FrameRate
— 每秒动画帧数
Inf
(默认) | 非负整数
每秒动画帧数,指定为非负整数。默认情况下,FrameRate
的值为 Inf
,它会尽可能快地绘制动画,具体速度取决于运行 streamparticles
的计算机的限制。
ParticleAlignment
— 流线图上粒子的对齐
"off"
(默认) | "on"
流线图上粒子的对齐,指定为 "off"
或 "on"
。
如果
ParticleAlignment
为"off"
,则n
确定在所有流线图顶点上均匀分布的粒子数。如果
ParticleAlignment
为"on"
,则n
确定在顶点最多的流线图上均匀分布的粒子数。streamparticles
函数使用此间距在其余流线图上绘制粒子。
Marker
— 标记符号
"o"
(默认) | "none"
| "+"
| "*"
| "."
| ...
标记符号,指定为下表中列出的值之一。默认情况下,粒子显示为圆形。如果标记符号没有填充面,例如 "*"
,则必须指定标记的边缘颜色。
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
"none" | 无标记 | 不适用 |
MarkerEdgeColor
— 标记轮廓颜色
"none"
(默认) | RGB 三元组 | 十六进制颜色代码 | "r"
| "g"
| "b"
| ...
标记轮廓颜色,指定为 "none"
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认情况下,没有标记轮廓颜色。
RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#FF8800"
与"#ff8800"
、"#F80"
与"#f80"
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
MarkerFaceColor
— 标记填充颜色
"red"
(默认) | "none"
| RGB 三元组 | 十六进制颜色代码 | "r"
| "g"
| "b"
| ...
标记填充颜色,指定为 "red"
、"none"
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认情况下,标记填充颜色为红色。
RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#FF8800"
与"#ff8800"
、"#F80"
与"#f80"
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
扩展功能
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
此函数接受 GPU 数组,但不在 GPU 上运行。
有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
此函数在分布式数组上运行,但在客户端 MATLAB 中执行。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)