Main Content

streamparticles

ストリーム粒子のプロット

    説明

    streamparticles(verts) は、ベクトル場の流線の各頂点にストリーム粒子をプロットします。ストリーム粒子は、流線の位置と速度を表示できます。

    streamparticles(verts,n)n を使用して、プロットするストリーム粒子の数を決定します。n は、粒子の数または流線の頂点の割合 (%) を表すことができます。この構文で名前と値の引数 ParticleAlignment を使用して、streamparticlesn を使用する方法を変更できます。

    streamparticles(___,Name,Value) は 1 つ以上の名前と値の引数を使用してプロパティを設定して、ストリーム粒子のアニメーションと外観を変更します。たとえば、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);

    Figure contains an axes object. The axes contains a line object which displays its values using only markers.

    位置と速度の行列を使用してベクトル場を定義します。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);

    Figure contains an axes object. The axes object contains 64 objects of type line. One or more of the lines displays its values using only markers

    同じベクトル場で、ParticleAlignment プロパティを "on" に設定して、最も多くの頂点をもつ流線上に 5 個の粒子を均等にプロットします。関数 streamparticles はその間隔を使用して、残りの流線上に粒子をプロットします。

    streamline(verts);
    streamparticles(verts,5,"ParticleAlignment","on");

    Figure contains an axes object. The axes object contains 128 objects of type line.

    同じベクトル場で、流線の頂点の 5% を粒子としてプロットします。

    streamline(verts);
    streamparticles(verts,0.05);

    Figure contains an axes object. The axes object contains 192 objects of type line.

    ベクトル場の頂点を作成し、その流線およびストリーム粒子をプロットします。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);

    Figure contains an axes object. The axes object contains 64 objects of type line. One or more of the lines displays its values using only markers

    ベクトル場の頂点を作成し、その流線およびストリーム粒子をプロットします。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]);

    Figure contains an axes object. The axes object contains 64 objects of type line. One or more of the lines displays its values using only markers

    入力引数

    すべて折りたたむ

    流線の座標データ。cell 配列 (stream2stream3 または streamslice によって返される) として指定します。cell 配列の各要素は、1 本の流線を定義する 2 次元または 3 次元の頂点の行列です。各行は 1 つの粒子の座標を表します。

    ストリーム粒子の数。正の値として指定します。

    • n1 より大きい場合、streamparticles は約 n 個の粒子をプロットします。

    • n1 以下の場合、streamparticles は特定の割合 (%) の頂点を粒子としてプロットします。たとえば、n0.2 の場合、streamparticles は約 20% の頂点をプロットします。

    既定では、streamparticles は、n によって決定された数の粒子をすべての流線の頂点上に均等にプロットします。ただし、ParticleAlignment プロパティを "on" に設定した場合、streamparticles は、最も多くの頂点をもつ流線上に粒子を均等にプロットしてから、その粒子の間隔を他の流線に対して使用します。

    ターゲット オブジェクト。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 であり、ストリーム粒子の動きがないことを指定します。値が Inf の場合、アニメーションは "Ctrl+C" が押されるまで続きます。

    アニメーションの 1 秒あたりのフレーム数。非負の整数として指定します。既定では、FrameRate の値は Inf です。この場合、streamparticles を実行しているマシンの制限を考慮して、できる限り高速にアニメーションを描画します。

    流線上の粒子の配置。"off" または "on" として指定します。

    • ParticleAlignment"off" の場合、n により、すべての流線の頂点上に等間隔にプロットされる粒子の数が決まります。

    • ParticleAlignment"on" の場合、n により、最も多くの頂点をもつ流線に対して等間隔にプロットされる粒子の数が決まります。関数 streamparticles はその間隔を使用して、残りの流線上に粒子をプロットします。

    マーカー記号。次の表に挙げる値のいずれかとして指定します。既定では、粒子は円として表示されます。"*" のようにマーカー記号に塗りつぶし領域がない場合、マーカーのエッジの色を指定する必要があります。

    マーカー説明結果のマーカー
    "o"

    Sample of circle marker

    "+"プラス記号

    Sample of plus sign marker

    "*"アスタリスク

    Sample of asterisk marker

    "."

    Sample of point marker

    "x"十字

    Sample of cross marker

    "_"水平線

    Sample of horizontal line marker

    "|"垂直線

    Sample of vertical line marker

    "square"正方形

    Sample of square marker

    "diamond"菱形

    Sample of diamond marker

    "^"上向き三角形

    Sample of upward-pointing triangle marker

    "v"下向き三角形

    Sample of downward-pointing triangle marker

    ">"右向き三角形

    Sample of right-pointing triangle marker

    "<"左向き三角形

    Sample of left-pointing triangle marker

    "pentagram"星形五角形

    Sample of pentagram marker

    "hexagram"星形六角形

    Sample of hexagram marker

    "none"マーカーなし該当なし

    マーカーの輪郭の色。"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"

    Sample of the color red

    "green""g"[0 1 0]"#00FF00"

    Sample of the color green

    "blue""b"[0 0 1]"#0000FF"

    Sample of the color blue

    "cyan" "c"[0 1 1]"#00FFFF"

    Sample of the color cyan

    "magenta""m"[1 0 1]"#FF00FF"

    Sample of the color magenta

    "yellow""y"[1 1 0]"#FFFF00"

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

    MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

    RGB 3 成分16 進数カラー コード外観
    [0 0.4470 0.7410]"#0072BD"

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]"#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]"#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]"#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]"#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]"#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]"#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

    マーカーの塗りつぶし色。"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"

    Sample of the color red

    "green""g"[0 1 0]"#00FF00"

    Sample of the color green

    "blue""b"[0 0 1]"#0000FF"

    Sample of the color blue

    "cyan" "c"[0 1 1]"#00FFFF"

    Sample of the color cyan

    "magenta""m"[1 0 1]"#FF00FF"

    Sample of the color magenta

    "yellow""y"[1 1 0]"#FFFF00"

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

    MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

    RGB 3 成分16 進数カラー コード外観
    [0 0.4470 0.7410]"#0072BD"

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]"#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]"#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]"#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]"#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]"#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]"#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

    拡張機能

    バージョン履歴

    R2006a より前に導入