y = eval(p,x)
(Real|Complex|Polynomial|Rational|Matrix|Array) y;
Polynomial p;
(Integer|Real|Complex|Polynomial|Rational|Matrix|Array) x;
y = eval(r,x)
(Real|Complex|Rational|Matrix|Array) y;
Rational r;
(Integer|Real|Complex|Polynomial|Rational|Matrix|Array) x;
Y = eval(R,x)
(Matrix|Array) Y;
(PoMatrix|RaMatrix|PoArray|RaArray) R;
(Integer|Real|Complex|Polynomial|Rational|Matrix) x;
Y = eval(R,x)
(Matrix|Array) Y;
(PoMatrix|RaMatrix|PoArray|RaArray) R;
Array x;
y = eval(s)
(評価結果の型) y;
String s;
【詳細】
p が(多項式|有理多項式),x が(整数|実数|複素数|多項式|有理多項式|
行列|配列)のとき,eval(p,x)は,多項式 p の変数に x 代入した結果を
返す。
R が(多項式行列|多項式配列|有理多項式行列|有理多項式配列),x が
(整数|実数|複素数|多項式|有理多項式|行列) のとき,R の各成分 R(i,j)
の変数に x を代入して評価した結果 eval(R(i,j),x) からなる行列を返す。
一方,x が配列のとき,eval(R,X(i,j)) を成分とする配列になる。
s が文字列のとき,eval(s)は,文字列 s をMaTXの式あるいは文として
評価(実行)し,結果を返す。結果は,与えられた文字列 s によって変る。
ただし,この機能は,インタプリタでのみ使用できる。
【例題】
>> s = Polynomial("s");
>> p = s^2 + 2*s + 3;
>> y = eval(p, s+1)
y = s^2 + 4 s + 6
>> R = [[s+1, s+2][s+3, s+4]];
>> A = [[1 2][3 4]];
>> Y = eval(R, A)
=== [Y] : ( 4, 4) ===
( 1) ( 2) ( 3) ( 4)
( 1) 2.000000E+00 2.000000E+00 3.000000E+00 2.000000E+00
( 2) 3.000000E+00 5.000000E+00 3.000000E+00 6.000000E+00
( 3) 4.000000E+00 2.000000E+00 5.000000E+00 2.000000E+00
( 4) 3.000000E+00 7.000000E+00 3.000000E+00 8.000000E+00
>> Y = eval(R, Array(A))
=== [Y] : ( 4, 4) ===
( 1) ( 2) ( 3) ( 4)
( 1) 2.000000E+00 3.000000E+00 3.000000E+00 4.000000E+00
( 2) 4.000000E+00 5.000000E+00 5.000000E+00 6.000000E+00
( 3) 4.000000E+00 5.000000E+00 5.000000E+00 6.000000E+00
( 4) 6.000000E+00 7.000000E+00 7.000000E+00 8.000000E+00
【参照】