streamparticles
ストリーム粒子のプロット
構文
説明
streamparticles(___,
は 1 つ以上の名前と値の引数を使用してプロパティを設定して、ストリーム粒子のアニメーションと外観を変更します。たとえば、Name,Value
)Marker
プロパティを使用して粒子の形状を設定できます。前述の任意の構文で、すべての引数の後に名前と値の引数を指定します。プロパティの一覧については、Line のプロパティ を参照してください。
streamparticles(
はターゲット オブジェクトを使用してストリーム粒子プロットを作成します。ターゲット オブジェクトが target
,___)Axes
オブジェクトである場合、MATLAB® は、現在の座標軸 (gca
) ではなく指定された座標軸にプロットします。ターゲット オブジェクトが Line
オブジェクトの場合、新しい Line
オブジェクトを作成するのではなく、ライン プロパティが更新されてストリーム粒子が作成されます。
は、粒子のすべての頂点が含まれている lineobj
= streamparticles(___)Line
オブジェクトを返します。
例
ストリーム粒子のプロット
15 行 2 列の行列で "x" 座標と "y" 座標として指定した 2 本の流線の頂点を作成します。streamparticles
への頂点の入力は cell 配列として定義します。各要素は 1 本の流線を表します。
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"
に設定して、最も多くの頂点をもつ流線上に 5 個の粒子を均等にプロットします。関数 streamparticles
はその間隔を使用して、残りの流線上に粒子をプロットします。
streamline(verts); streamparticles(verts,5,"ParticleAlignment","on");
同じベクトル場で、流線の頂点の 5% を粒子としてプロットします。
streamline(verts); streamparticles(verts,0.05);
ストリーム粒子のアニメーション速度の指定
ベクトル場の頂点を作成し、その流線およびストリーム粒子をプロットします。Animate
プロパティと FrameRate
プロパティをそれぞれ設定して、1 秒あたり 30 フレームで 5 回反復して粒子をアニメーション化します。
[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
— 流線の座標データ
cell 配列
流線の座標データ。cell 配列 (stream2
、stream3
または streamslice
によって返される) として指定します。cell 配列の各要素は、1 本の流線を定義する 2 次元または 3 次元の頂点の行列です。各行は 1 つの粒子の座標を表します。
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
オブジェクトを作成するのではなく、ライン プロパティが更新されてストリーム粒子が作成されます。
Line
オブジェクトを作成し、legend
を呼び出してから、ターゲット オブジェクトとしてそのラインを指定して streamparticles
を呼び出すことで、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
— アニメーションの 1 秒あたりのフレーム数
Inf
(既定値) | 非負の整数
アニメーションの 1 秒あたりのフレーム数。非負の整数として指定します。既定では、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 3 成分 | 16 進数カラー コード | "r"
| "g"
| "b"
| ...
マーカーの輪郭の色。"none"
、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定では、マーカーの輪郭の色はありません。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]
の範囲でなければなりません。たとえば[0.4 0.6 0.7]
のようになります。16 進数カラー コードは、ハッシュ記号 (
#
) で始まり、3 桁または 6 桁の0
からF
までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"
、"#ff8800"
、"#F80"
、および"#f80"
は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|---|---|
"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 3 成分および 16 進数カラー コードを次に示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[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 3 成分 | 16 進数カラー コード | "r"
| "g"
| "b"
| ...
マーカーの塗りつぶし色。"red"
、"none"
、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定では、マーカーの塗りつぶし色は赤です。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]
の範囲でなければなりません。たとえば[0.4 0.6 0.7]
のようになります。16 進数カラー コードは、ハッシュ記号 (
#
) で始まり、3 桁または 6 桁の0
からF
までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"
、"#ff8800"
、"#F80"
、および"#f80"
は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|---|---|
"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 3 成分および 16 進数カラー コードを次に示します。
RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|
[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 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (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)