Go to the first, previous, next, last section, table of contents.


mathematica.rtomstr

mathematica.rtomstr(t)
:: t をなるべく Mathematica の理解可能な文字列に変える.
return
文字列
t
オブジェクト
[259] mathematica.rtomstr([1,2,3]);
{1,2,3}
[260] mathematica.rtomstr([[1,x,x^2],[1,y,y^2]]);
{{1,x,x^2},{1,y,y^2}}

もう一つ例をあげよう. 次の関数 mathematica.inverse(M)ox_math をよんで行列 M の逆行列を計算する関数である. mathematica.inverse(M) は次のように r_tostr(M) を用いて asir の行列を Mathematica 形式に変換してから ox_execute_string で Mathematica に逆行列を計算 させている.

def inverse(M) {
  P = 0;
  A = mathematica.rtomstr(M);
  ox_execute_string(P,"Inverse["+A+"]");
  B = ox_pop_cmo(B);
  C = mathematica.tree_to_string(B);
  return(eval_str(C));
}

[269] M=[[1,x,x^2],[1,y,y^2],[1,z,z^2]];
[[1,x,x^2],[1,y,y^2],[1,z,z^2]]
[270] A=mathematica.inverse(M)$
[271] red(A[0][0]);
(z*y)/(x^2+(-y-z)*x+z*y)
参照
ox_execute_string, ToExpression(Mathematica), mathematica.tree_to_string


Go to the first, previous, next, last section, table of contents.