メインコンテンツ

streamline

2 次元または 3 次元ベクトル データからの流線のプロット

  • Three-dimensional space with plotted streamlines

説明

streamline(X,Y,Z,U,V,W,startX,startY,startZ) は、3-D ベクトル データに対しプロットされた流線を返します。入力 XYZ はベクトル データの座標、UVW はベクトル データ、startXstartYstartZ は流線の開始位置です。

streamline(U,V,W,startX,startY,startZ) は、UVW の既定の座標データを使用します。UV、および W 内の各要素の (x,y,z) 位置は、それぞれ列、行、ページ インデックスに基づきます。

streamline(X,Y,U,V,startX,startY) は、2-D ベクトル データに対しプロットされた流線を返します。入力 X および Y はベクトル データの座標、U および V はベクトル データ、startX および startY は流線の開始位置です。

streamline(U,V,startX,startY) は、U および V の既定の座標データを使用します。U および V 内の各要素の (x,y) 位置は、それぞれ列インデックスと行インデックスに基づいています。

streamline(verts) は、頂点配列の cell 配列 (stream2stream3、または streamslice によって返される) として指定される頂点から流線をプロットします。

streamline(___,options) は、step または [step maxvert] という形式をもつ 1 要素ベクトルまたは 2 要素ベクトルとして定義される指定オプションを使用して、流線をプロットします。ここで、step はベクトル データを内挿するためのデータ単位のステップ サイズで、maxvert は流線内の頂点の最大数です。この引数は、前述の構文にある任意の入力引数の組み合わせと共に使用します。

streamline(___,Name=Value) は、1 つ以上の名前と値の引数を使用して流線のプロットのプロパティを設定します。たとえば、流線の色と太さを指定できます。プロパティの一覧については、Line のプロパティ を参照してください。 (R2024b 以降)

streamline(ax,___) は、流線を現在の axes オブジェクト (gca) にではなく、指定された座標軸にプロットします。

lineobj = streamline(___) は、1 つ以上の Line オブジェクトのベクトルを返します。流線のプロパティを作成した後に変更するには lineobj を使用します。プロパティの一覧については、Line のプロパティ を参照してください。

すべて折りたたむ

北アメリカ各地での大気の流れの測定値を含む wind データ セットを読み込みます。

  • 3-D 配列 xyz は、大気の流れの測定値の場所を表します。

  • 3-D 配列 uvw は、3-D ベクトル場での大気の流れの速度を表します。

16 個の架空粒子の開始位置を定義します。この場合、粒子はすべて x = 80 からスタートし、20 ~ 50 の範囲の開始 y 位置と 0 ~ 15 の範囲の開始 z 位置をもちます。

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);

大気の流れにおける startXstartYstartZ という一連の開始位置に置かれた架空粒子について、3-D 流線の頂点データを計算します。

verts = stream3(x,y,z,u,v,w,startX,startY,startZ);

streamline を使ってベクトル場の 3-D ボリュームを可視化します。line オブジェクトを変数 lineobj に返します。これにより、後でプロパティを変更できます。

lineobj = streamline(verts);
view(3)

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

特定のラインの特性を変更するには、返されたいずれかの line オブジェクトのプロパティを設定します。たとえば、10 番目のラインの色を緑に変更し、その太さを 3 に変更します。

lineobj(10).Color = "g";
lineobj(10).LineWidth = 3;

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

北アメリカ各地での大気の流れの測定値を含む wind データ セットを読み込みます。

  • 3-D 配列 x および y は、大気の流れの測定値の場所を表します。

  • 3-D 配列 u および v は、3-D ベクトル場での大気の流れの速度を表します。

配列の 5 ページ目を使用します。4 つの架空粒子の開始位置を定義します。この場合、4 つの開始位置は (80, 20)、(80, 30)、(80, 40)、(80, 50) です。

load wind
x5 = x(:,:,5);
y5 = y(:,:,5);
u5 = u(:,:,5);
v5 = v(:,:,5);
[startX,startY] = meshgrid(80,20:10:50);

stream2 を使って、大気の流れに置かれた架空粒子の 2-D 流線の頂点データを計算します。

verts = stream2(x5,y5,u5,v5,startX,startY);

streamline を呼び出して、ベクトル場の 2-D 行列を可視化します。line オブジェクトを変数 lineobj に返します。これにより、後でプロパティを変更できます。

lineobj = streamline(verts);

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

特定のラインの特性を変更するには、返されたいずれかの line オブジェクトのプロパティを設定します。たとえば、2 番目のラインの色をマゼンタに変更し、そのスタイルを破線に変更します。

lineobj(2).Color = "m";
lineobj(2).LineStyle = "--";

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

wind データセットを読み込み、平面 x = 80 上の等間隔に置かれた点から始まる流線の頂点を計算します。次に、頂点データから流線をプロットします。

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);
verts = stream3(x,y,z,u,v,w,startX,startY,startZ);
streamline(verts)
axis tight
view(3);

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

入力引数

すべて折りたたむ

ベクトル データの x 軸座標。Y (さらにオプションで Z) と組み合わせて座標のグリッドを形成できる 2 次元配列または 3 次元配列として指定します。関数 meshgrid を使用して、配列を作成できます。

X のサイズは、YZUV および W と同じでなければなりません。

ベクトル データの y 軸座標。X (さらにオプションで Z) と組み合わせて座標のグリッドを形成できる 2 次元配列または 3 次元配列として指定します。関数 meshgrid を使用して、配列を作成できます。

Y のサイズは、XZUV および W と同じでなければなりません。

ベクトル データの z 軸座標。X および Y と組み合わせて座標のグリッドを形成できる 3 次元配列として指定します。関数 meshgrid を使用して、配列を作成できます。

Z のサイズは、XYUV および W と同じでなければなりません。

ベクトル データの x 成分。2-D または 3-D 配列として指定します。UXYZVW と同じサイズでなければなりません。

ベクトル データの y 成分。2-D または 3-D 配列として指定します。VXYZUW と同じサイズでなければなりません。

ベクトル データの z 成分。3-D 配列として指定します。WXYZUV と同じサイズでなければなりません。

x 軸の流線開始位置。ベクトルまたは行列として指定します。startX はスカラーであるか、または startY および startZ と同じサイズでなければなりません。

y 軸の流線開始位置。ベクトルまたは行列として指定します。startY はスカラーであるか、または startX および startZ と同じサイズでなければなりません。

z 軸の流線開始位置。ベクトルまたは行列として指定します。startZ はスカラーであるか、または startX および startY と同じサイズでなければなりません。

流線の頂点。cell 配列 (stream2stream3 または streamslice によって返される) として指定します。cell 配列の各要素は、1 本のラインにおける頂点の行列です。

流線のオプション。以下のいずれかの形式をもつ 1 要素ベクトルまたは 2 要素ベクトルとして指定します。

  • step

  • [step,maxvert]

step は流線の解像度を調整し、流線速度が内挿される頂点の場所を決定するために使用されるステップ サイズです。maxvert は計算の完了前に流線に対して計算される頂点の最大値です。

既定のステップサイズは 0.1 で、既定の頂点の最大数は 10,000 です。

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、関数 streamline は現在の座標軸を使用します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: streamline(verts,LineWidth=2) は、2 ポイントのラインの太さで流線をプロットします。

メモ

ここには一部のプロパティのみを示します。完全な一覧については、Line のプロパティ を参照してください。

ラインの色。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

"none"該当なし該当なし該当なし色なし

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。

ライン スタイル説明結果として得られる線
"-"実線

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

"none"ラインなしラインなし

ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。

ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

すべて展開する