ベクトル場の発散計算​のため3次元配列デー​タを読み込みたい

7 Ansichten (letzte 30 Tage)
健 金子
健 金子 am 1 Jul. 2021
Kommentiert: 健 金子 am 2 Jul. 2021
3次元で座標と速度をもつエクセルファイルからデータを読み込んで、そのベクトル場の発散を計算したいです。
事前作業として、エクセルファイルから各列データを読み込む必要がありますが、このようなエラーが出てしまいます。
読み込んだデータを各列でx,y,z,u,v,wとラベルを付ける必要があると思っているのですが、どのような方法があるのか、アドバイスいただきたいです。
読み込み用のエクセルファイルを添付しておりまして、作製したコードは以下に示しています。
clear
T = readtable('Flow_Field_xyz.xlsx');
Xa = table2array(X);
Ya = table2array(Y);
Za = table2array(Z);
Ua = table2array(U);
Va = table2array(V);
Wa = table2array(W);
div = divergence(Xa,Ya,Za,Ua,Va,Wa);
>> Divergence_ff
エラー: divergence (54)
ボリューム データ引数は 3-D 配列でなければなりません。
エラー: Divergence_ff (20)
div = divergence(Xa,Ya,Za,Ua,Va,Wa);
  4 Kommentare
Atsushi Ueno
Atsushi Ueno am 1 Jul. 2021
clear
T = readtable('Flow_Field_xyz_mini.xlsx');
div = divergence(T.Var1,T.Var2,T.Var3,T.Var4,T.Var5,T.Var6);
とすれば、Flow_Field_xyz.xlsx から読んだデータの各列をX,Y,Z,U,V,Wの変数とすることが可能です。
しかし各列(ベクトル)を入力すると、発散計算(divergence)の入力条件を満たしません
入力座標。行列または 3 次元配列として指定します。
  • 2 次元ベクトル場の場合、X Y は同じサイズの 2 次元行列でなければならず、そのサイズは 2 2 列以上でなければなりません。
  • 3 次元ベクトル場の場合、XYZ は同じサイズの 3 次元配列でなければならず、そのサイズは 2 x 2 x 2 以上でなければなりません。
健 金子
健 金子 am 2 Jul. 2021
ご解説ありがとうございます!トライしてみます。

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!