3次元曲面をカラープロット surf で表示する
3次元グラフィックスを表示する場合に surf を使用します。また、プロットした画像の横にカラーバーを表示する場合には colorbar を使用します。
カラーバーを表示することによって、ポテンシャル分布の大きさがわかりやすく乗ります。
3次元曲面をカラーでプロットする:surf
surf は, X Y座標で定義される格子グリッドを用いてパラメータ表現の曲面をカラーでプロットします。
例として
Z=sin(R)/R
ただし、 R=sqrt(x^2+y^2) とします。
サンプルプログラムは、下のようになります。
1. clf();
2. XI=-8:0.5:8;YI=XI;
3. [X Y]=meshgrid(XI,YI);
4. R=sqrt( X.^2 + Y.^2 ) + %eps;
5. Z=sin(R)./R;
6. surf(X,Y,Z);
1行目は、ウィンドウにグラフが表示されている場合にクリアします。
2行目はは講師座標の指定です。
3行目はmeshgridを作成しています。
4行目は Rを計算しています。
5行目は関数Z=sin(R)./Rの計算をします。
6行目はsurf (X,Y,Z)で3次元のグラフを、格子グリッドを用いて曲面をカラーでプロットします。
Surfを用いると図のように曲面が3次元表示されます。
カラーバーの表示:colorbar
colorbar を表示するには、surf やplot3dの前にコールする必要があります。これは、この関数がプロットのフレームの設定を変更するためです。
colorbar(umin, umax)
のパラメータは、次のようになっています。
uminはプロットの最小値で、umaxはプロットの最大値です。ここで、次のようなプログラムを実行します。
1. clf();
2. XI=-8:0.5:8;
3. YI=XI;
4. [X Y]=meshgrid(XI,YI);
5. R=sqrt( X.^2 + Y.^2 ) + %eps;
6. Z=sin(R)./R;
7. Zmin=min(Z);
8. Zmax=max(Z);
9. colorbar(Zmin,Zmax);
10. surf(X,Y,Z);
6行目で関数Z=sin(R)./Rの計算をします。
7行目は関数の最小値を求めます。8行目は関数の最大値を求めます。
9行目では最大値最小値を基にカラーバーを表示します。
10行目のsurf (X,Y,Z)で3次元のグラフを、格子グリッドを用いて曲面をカラーでプロットします。
Surfを用いると図のように曲面が3次元表示されます。
また、上のプログラムに手を加えるだけで、下の図のようにも表示できます。
関連記事
-
2次元プロットにグリッドを追加:xgrid|グラフィック
グラフのデータを比較したいとか、見やすくしたい場合には、グリッドを入れて表示させ …
-
scilabのエディター SciNoteの使用
プログラムの作成に「SciNoteを起動」を使用するととても便利です。プログラム …
-
3次スプライン補間 splin について!
計測したデータを補間して表示させたい場合には、3次スプライン補間 splinを用 …
-
一つのグラフィックウインドウに複数のグラフを描くsubplot
一つのグラフィックウインドウに複数の裏婦を描き活用したい場合にとても便利なコマン …
-
高速フーリエ変換 FFTの計算
高速フーリエ変換 FFT の計算を行ってみます。 フーリエ変換は雑音を含んだ …
-
ポリゴンを任意の色で塗りつぶす xfpoly
ポリゴンを塗りつぶしたい場合があるかと思いっます。 塗りつぶす命令として xfp …
-
正規分布と相関係数
正規分布と相関係数について行ってみます。 初めに ・正規分布 ・相関係数 を …
-
グラフに文字列を描画 xstring
グラフに項目たタイトルの文字列を描画して見やすくする方法があります。 描画するグ …
-
複数のグラフィック・ウィンドウを開く scf
グラフを重ね書きをしないで、表示させたい場合に scf を用いるととても便利です …
-
3次元グラフィックス meshgridとmesh
表示する場合には組み込み関数eshgrid, mesh をついで使用します。 そ …