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

2 次查看(过去 30 天)
健 金子
健 金子 2021-7-1
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 个评论
Atsushi Ueno
Atsushi Ueno 2021-7-1
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 以上でなければなりません。
健 金子
健 金子 2021-7-2
ご解説ありがとうございます!トライしてみます。

请先登录,再进行评论。

回答(0 个)

产品

Community Treasure Hunt

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

Start Hunting!