基本事項
全体に影響する記号(対応する本書で使う記法も併記)- //行末
- `//'から行末まではコメント文(日本語可)
- /*文*/
- `/*'と`*/'で囲まれた文章はコメント文(日本語可)
- "
- `"'で囲まれた部分は文字リテラル(日本語不可)
- {…;}
- 命令は“;”で区切られ,変数の寿命は{}の中
- x, y, z
- 3次元問題で参照している座標
- x, y
- 2次元問題で参照している座標
- P
- 現在の位置を表し,座標はP.x,P.y,P.z
- label
- 現在の位置が境界上なら境界番号を戻す
- region
- 現在の位置が領域内なら領域番号を戻す
- N
- 境界上の外向き単位法線ベクトル(N.x,N.y,N.z)
- true
- ブール代数の真
- false
- ブール代数の偽
- pi
- π円周率(倍精度16桁)
- i
- 虚数5+iは5+1i.出力は(5,1)となる.
- int
- 整数 4バイト整数
- real
- 実数 倍精度浮動小数
- complex
- 複素数 ペアになった実数型.例:complex zz=3+4i;
- int[int]
- 整数の配列 例:int[int] a(5); 配列確保
- real[int]
- 実数の配列 ベクトル.例:real[int] x=[1., 2.5]確保と代入
- real[int,int]
- 実数の2重配列 行列.例:real[int,int] A(3,4)
- complex[int]
- 複素数の配列 複素数ベクトル.例:complex[int] zz=[1,2+3.4i]
- string
- 文字列 "で囲んだ文字リテラルに日本語不可
- int[string]
- 連想配列 例:int[string] a; a["ffempp"]=2001;
数学関数
初等関数平方根 sqrt(x)/べき乗 x^a/三角関数 sin(t),cos(t),tan(t)
逆三角関数 asin(t),acos(t),atan(t)/双曲線関数 sinh(t),cosh(t),tanh(t)
座標→角度 atan2(y,x)-πからπの値を戻す/指数関数 exp(x)/自然対数 log(x)
常用対数 log10(x)
数の操作
天井関数 ceil(x) (実数xに対してx以上の最小の整数(切り上げ)
床関数 floor(x) (実数xに対してx以下の最大の整数(≅切り捨て))
四捨五入 rint(x) (xに近い整数)
実部 real(ζ) (複素数ζの実部)/ 虚部 imag(ζ) (複素数ζの虚部)
偏角 arg(ζ) (複素数ζの偏角)/ 共役複素数 conj(ζ) (ζ=a+biならば conj(ζ)はa-bi)
特殊関数
第1種ベッセル関数 j0(x), j1(x), jn(n,x) (0次,1次,n次ベッセル関数)
第2種ベッセル関数 y0(x), y1(x), yn(n,x) (0次,1次,n次ベッセル関数)
ガンマ関数 tgamma(x), lgamma(x) (ガンマ関数値Γ(x)とln|Γ(x)|)
誤差関数 erf(x)/ 相補誤差関数 erfc(x) (=1-erf(x))
演算 (FreeFem++の計算された数値解は,たとえば記号 u で表される.これを「有限要素関数」と呼ぶことにする.
- 和
- + (対象) 数,文字列,(有限要素)関数,ベクトル,行列
- 差
- - (対象) 数,(有限要素)関数,ベクトル,行列
- 積
- * (対象) 数,(有限要素)関数,ベクトル,行列
- 商
- / (対象) 数,(有限要素)関数,ベクトル
- 合成
- ( ) (対象)(有限要素)関数.例exp(u^2+3*sqrt(x)),uは有限要素関数
ベクトルと行列
ベクトルと行列での演算等 a={a1,a2}は列ベクトル,b=(b1,b2)は行ベクトルで表す.ここには,付録Aの全てを書く予定ですが,以下は未完です.