Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - 日本語


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()

gcf().color_map = jet(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()

gcf().color_map = jet(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()

gcf().color_map = jet(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 : 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 : 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 : 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 : 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()

gcf().color_map = [hot(64); jet(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 — draws a vertical color bar
  • Sfgrayplot — 関数により定義された曲面の平滑化2次元カラープロット
  • Sgrayplot — 色付きの曲面の2次元平滑化プロット
Report an issue
<< fchamp 2d_plot fec_properties >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:54:18 CEST 2024