Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Graphics > 2d_plot > fec

fec

三角メッシュ上に定義された関数の擬似カラープロット

呼び出し手順

fec(x,y,triangles,func,<opt_args>)
fec(x,y,triangles,func,[strf,leg,rect,nax,zminmax,colminmax,colout,mesh])

引数

x,y

大きさ nのベクトル, (x(i),y(i)) は ノード iの座標を定義します

func

大きさ nのベクトル : func(i) は,擬似カラープロットを行う関数のノード iにおける値を定義します.

triangles

[Ntr,5] 行列. trianglesの各行は,メッシュの三角形 triangle(j) = [number,node1,node2,node3,flag] を定義します. node1,node2,node3 は三角形を構成するノードの番号です. number は三角形の番号で,flag は fec 関数では使用されない整数です.

<opt_args>

一連の命令 key1=value1, key2=value2,... を 表し, この命令には以下のどれかを指定できます: strf, leg, rect, nax, zminmax, colminmax, colout, mesh (最初の4つについてはplot2dを参照).

strf,leg,rect,nax

see plot2d

zminmax

要素 [zmin zmax]を有するベクトル (特にアニメーションの場合に有用)

colminmax

2つの正の整数 [colmin colmax]のベクトル

colout

要素数2の定数ベクトル [under_min_col upper_max_col]

mesh

論理値スカラー, デフォルト値e %f (メッシュも表示させたい場合には true にしてください)

説明

この関数は,線形三角有限要素解を描画する際や単に 三角形分割により定義された関数を表示する際に有用です. ソフトウエア計算による色補間が行われるため,極めて高速という わけではありません.

関数 colorbar は色スケールを 参照するためにも使用できます(例の節を参照).

引数zminmax は(カレントのカラーマップにおける)最初と 最後の色に関連するzの値を指定します. カラーマップが nc 個の色を有し, dz = (zmax-zmin)/ncとすると, zmin + (i-1)dz <= z < zmin + i dzとなる 三角形分割された部分は色iで塗りつぶされます. デフォルトでは,zmin = min(func) および zmax = max(func)となります. 時間で変化するう関数の値でアニメーションを行いたい場合, zmin および zmax グローバルな最小値および最大値もしくはそれに近い値

引数 colout により2つの極値領域 {func < zmin} および {func > zmax} の色をユーザが選択できるようになります. under_min_col および upper_max_col の色は(独立で)以下と同じにすることができます:

-1

この場合,近いゾーンでは同じ色が使用されます (注意: 対応する極値が交差する場合,判別できません), これがデフォルトです.

0

この場合,極値領域は塗られません.

k

(k はカレントのカラーマップへの有効なインデックス) 極値領域は色 kで塗られます.

完全なカラーマップを使用したくない場合, 1 <= colmin < colmax <= ncとなるような colminmax引数を使用できます (nc はカレントのカラーマップの色の数). この場合,カラーマップの一部 [colmin,colmax]のみが使用されます. (デフォルトではカラーマップの全ての色が使用されます).

以下のデモファイルdemos/fecを参照ください:

fec.ex1 はメッシュおよびメッシュ上の関数 に関する簡単なデモファイルで完全に Scilab 構文で構築されています.

fec.ex2 は, メッシュおよび関数値が外部のメッシュビルダ(amdba 型のメッシュ) および外部プログラムで計算される例です. ( ファイル macros.sciで提供される)一連のマクロを Scilabにデータファイルを読み込み,結果をプロットする際に使用することができます.

// 小規模な三角形分割を定義 (頂点:4, 三角形:2 )
x = [0 1 0 -1];
y = [0 0 1  1];
T = [1 1 2 3 1;
     2 3 4 1 1];
z = [0 1 0 -1];  // 各頂点における関数の値
clf()
xset("colormap",jetcolormap(64))
subplot(1,2,1)
  colorbar(-1,1)
  fec(x,y,T,z,strf="040",mesh=%t)
  xtitle("fec example (with the mesh)")
subplot(1,2,2)
  colorbar(-1,1)
  fec(x,y,T,z,strf="040")  // rmq:デフォルトでは mesh=%f 
  xtitle("fec example (without the mesh)")
show_window()
// 小規模な三角形分割を定義  (頂点:4, 三角形:2 )
x = [0 1 0 -1];
y = [0 0 1  1];
T = [1 1 2 3 1;
     2 3 4 1 1];
z = [0 1 0 -1];  // 各頂点におけるfuncの値
// この例は zminmax の効果を示し, 前の例のデータを使用します
// (前の例を事前に実行している必要があります)
clf()
xset("colormap",jetcolormap(64))
colorbar(-0.5,0.5)  // カラーバーをマニュアルで設定する必要があることに注意 !
fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], mesh=%t)
xtitle("fec example : using zminmax argument")
show_window()
// 小規模な三角形分割を定義  (頂点:4, 三角形:2 )
x = [0 1 0 -1];
y = [0 0 1  1];
T = [1 1 2 3 1;
     2 3 4 1 1];
z = [0 1 0 -1];  // 各頂点におけるfuncの値
// この例は zminmax および colout の効果を示します.
// この例も最初の例のデータを使用します.
// (前の例を事前に実行している必要があります)
clf()
xset("colormap",jetcolormap(64))
subplot(2,2,1)
  colorbar(-0.5,0.5)
  fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[0 0], mesh=%t)
  xtitle("fec example : using zminmax and colout =[0 0]")
subplot(2,2,2)
  colorbar(-0.5,0.5)
  fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[32 32], mesh=%t)
  xtitle("fec example : using zminmax and colout =[32 32]")
subplot(2,2,3)
  colorbar(-0.5,0.5)
  fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[-1 0], mesh=%t)
  xtitle("fec example : using zminmax and colout =[-1 0]")
subplot(2,2,4)
  colorbar(-0.5,0.5)
  fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[0 -1], mesh=%t)
  xtitle("fec example : using zminmax and colout =[0 -1]")
show_window()
// 小規模な三角形分割を定義  (頂点:4, 三角形:2 )
x = [0 1 0 -1];
y = [0 0 1  1];
T = [1 1 2 3 1;
     2 3 4 1 1];
z = [0 1 0 -1];  // 各頂点におけるfuncの値

// この例は colminmax の機能を示します:
// 2つのサブプロットに 2 つのカラーマップを使用します.
// この例も最初の例のデータを使用します.
clf()
xset("colormap",[hotcolormap(64);jetcolormap(64)])
subplot(1,2,1)
  colorbar(-1,1,[1 64])
  fec(x,y,T,z,strf="040", colminmax=[1 64], mesh=%t)
  xtitle("fec using the hot colormap")
subplot(1,2,2)
  colorbar(-1,1,[65 128])
  fec(x,y,T,z,strf="040", colminmax=[65 128], mesh=%t)
  xtitle("fec using the jet colormap")
show_window()

参照

  • colorbar — カラーバーを描画
  • Sfgrayplot — 関数により定義された曲面の平滑化2次元カラープロット
  • Sgrayplot — 色付きの曲面の2次元平滑化プロット
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:33 CEST 2012