数値解析と制御のためのScilab入門

数値解析と制御のためのScilab入門では、行列、微分方程式、制御などの基礎的な計算を紹介しています。また、計算結果をScilabを用いたグラフィック表示による可視化について紹介しています。

*

3次元曲面をカラープロット surf で表示する

   

3次元グラフィックスを表示する場合に surf を使用します。また、プロットした画像の横にカラーバーを表示する場合には colorbar を使用します。

カラーバーを表示することによって、ポテンシャル分布の大きさがわかりやすく乗ります。


3次元曲面をカラーでプロットする:surf

surf は, X Y座標で定義される格子グリッドを用いてパラメータ表現の曲面をカラーでプロットします。

SPONSORED LINK

例として 
 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次元表示されます。


3次元曲面プロット:surf


カラーバーの表示: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次元表示されます。



カラーバーの表示:colorbar

また、上のプログラムに手を加えるだけで、下の図のようにも表示できます。
カラーマップ:jetcolormap


 - 3次元グラフィックス, グラフィック

        

SPONSORED LINK

SPONSORED LINK

  関連記事

グラフィック・ウインドウに
複数の色を用いてグラフを描く plot2d

ヒトツノウインドウにラインの色を変化させて、数個のグラフを重ねて表示することにし …

3次スプライン補間 :splin
3次スプライン補間 splin について!

計測したデータを補間して表示させたい場合には、3次スプライン補間 splinを用 …

2次元プロットにグリッドを追加
2次元プロットにグリッドを追加:xgrid|グラフィック

グラフのデータを比較したいとか、見やすくしたい場合には、グリッドを入れて表示させ …

ポリゴンを塗りつぶす
ポリゴンを任意の色で塗りつぶす xfpoly

ポリゴンを塗りつぶしたい場合があるかと思いっます。 塗りつぶす命令として xfp …

正規分布
正規分布と相関係数

正規分布と相関係数について行ってみます。 初めに  ・正規分布  ・相関係数 を …

 複数のグラフィック・ウィンドウを開く:scf
複数のグラフィック・ウィンドウを開く scf

グラフを重ね書きをしないで、表示させたい場合に scf を用いるととても便利です …

一つのグラフィックウインドウに複数のグラフを描くsubplot
一つのグラフィックウインドウに複数のグラフを描くsubplot

一つのグラフィックウインドウに複数の裏婦を描き活用したい場合にとても便利なコマン …

3次元グラフィックス meshgridとmesh

表示する場合には組み込み関数eshgrid, mesh をついで使用します。 そ …

高速フーリエー変換 FFT
高速フーリエ変換 FFTの計算

高速フーリエ変換 FFT の計算を行ってみます。  フーリエ変換は雑音を含んだ …

グラフに文字列を描画:xstring
グラフに文字列を描画 xstring

グラフに項目たタイトルの文字列を描画して見やすくする方法があります。 描画するグ …