次元数の異なる配列の三次元グラフの作成について

22 次查看(过去 30 天)
豪斗 中馬
豪斗 中馬 2023-11-10
変数x,yがあるとした時に、xは181行1列,yは136行1列の配列であり、x、yに対応するデータ群zが181行136列ある場合にx、yを変数としてzを縦方向にプロット(もしくは曲面)する方法はありますでしょうか

回答(1 个)

Atsushi Ueno
Atsushi Ueno 2023-11-10
>xは181行1列,yは136行1列の配列であり、x、yに対応するデータ群zが181行136列ある場合にx、yを変数としてzを縦方向にプロット(もしくは曲面)する方法はありますでしょうか
⇒はい、あります。上記リンク先の Surface and Mesh Plots が該当すると思いますが、meshsurf 等の3次元プロット関数において、x軸及びy軸の情報として下記の説明があります。
>Z と同じサイズの行列、または長さが n のベクトル ([m,n] = size(Z)) として指定します。XY の値を指定しない場合、surf はベクトル (1:n) とベクトル (1:m) を使用します。行列 X と行列 Y を作成するには、関数 meshgrid を使用できます。
つまりこれらの関数は、x軸及びy軸の情報として1次元配列(軸情報)または2次元配列(グリッド情報)のどちらでもOKです。またx軸及びy軸の情報が無い場合でも、それらを自動的に生成してグラフを表示します。
x = (1:181)'; % xは181行1列の1次元配列(ベクトル)
y = (1:136)'; % yは136行1列の1次元配列(ベクトル)
[xm,ym] = meshgrid(x,y); % xm,ym,zは136行181列の2次元配列(行列)
z = sqrt(xm.^2 + ym.^2); % zも同じく136行181列の2次元配列(行列)
mesh(x,y,z) % mesh(xm,ym,z) % mesh(z) % どれでもOK
  1 个评论
豪斗 中馬
豪斗 中馬 2023-11-15
ありがとうございます。
作成できました。

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2 次元および 3 次元プロット 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!