Main Content

stream3

3 次元流線データの計算

説明

XYZ = stream3(X,Y,Z,U,V,W,startX,startY,startZ) は、ベクトル場の 2-D 行列として流線データを返します。入力 XYZ はベクトル データの座標、UVW はベクトル データ、startXstartYstartZ は流線の開始位置です。

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

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

すべて折りたたむ

北アメリカ各地での大気の流れの測定値を含む 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 配列 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);

既定値の 0.1 から 3 にステップ サイズを大きくして、流線分解能を低減します。

step = 3;

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

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

streamline を使ってベクトル場の 3-D ボリュームを可視化します。ステップ サイズが大きいほど、分解能の流線が小さくなります。

streamline(verts)
view(3)

Figure contains an axes object. The axes object contains 16 objects of type 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);

既定値の 0.1 から 0.01 にステップ サイズを小さくして、流線分解能を増加させます。

step = 0.01;

最初の 1,000 個の頂点が計算された後に計算が終わるように頂点の最大数を設定します。

maxvert = 1000;

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

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

streamline を使ってベクトル場の 3-D ボリュームを可視化します。軸の範囲を設定して、データ値の完全な範囲を表示します。流線は 1,000 個の頂点が計算されると終了するため、流線はデータの完全な範囲を表示する前に停止します。

streamline(verts)
xlim([75 135])
ylim([15 65])
zlim([0 15])
view(3)

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

入力引数

すべて折りたたむ

ベクトル データの x 軸座標。3-D 配列として指定します。単調でなければなりませんが、等間隔である必要はありません。X は、YZUVW と同じサイズでなければなりません。

関数 meshgrid を使用して X を作成することができます。

ベクトル データの y 軸座標。3-D 配列として指定します。単調でなければなりませんが、等間隔である必要はありません。Y は、XZUVW と同じサイズでなければなりません。

関数 meshgrid を使用して Y を作成することができます。

ベクトル データの z 軸座標。3-D 配列として指定します。単調でなければなりませんが、等間隔である必要はありません。Z は、XYUVW と同じサイズでなければなりません。

関数 meshgrid を使用して Z を作成することができます。

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

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

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

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

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

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

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

  • step

  • [step maxvert]

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

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

拡張機能

バージョン履歴

R2006a より前に導入