matlabで関数から3次元の立体的なグラフを作る

   2014/10/10

2変数関数のグラフをmatlabで描画するときのメモ。

例えとして

 z = x^2 + y^2

のグラフを描きます。

コマンドとその結果

[matlab]
[x,y]=mechgrid(-1:0.1:1,-1.5:0.1:1.5);
z=(x.^2+y.^2)
surf(x,y,z)
[/matlab]

matlab_graph_3d

コマンドの意味

まず1行目の

[matlab]
[x,y]=meshgrid(-1:0.1:1,-1:0.1:1);
[/matlab]

ではx,yそれぞれに行列値を代入しています。
xには-1から1までの0.1ずつ増加していく値、つまり -1.0, -0.9, -0.8, …
yも同様に-1.5から1.5までの0.1ずつ増加していく値、つまり -1.5, -1.4, -1.3, …

2行目の

[matlab]
z=(x.^2+y.^2)
[/matlab]

ではzにx,yのそれぞれの行列要素ごとの計算結果を代入しています。
それぞれの変数名の後に.(ピリオド)を付けることで要素ごとの計算になります。

 

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください