Scilab で他の関数をビルドできる関数をビルドする必要があります。例を挙げて説明しようと思います。
//A1 and A2 g12 are functions from R^2->R^2
// Here is what I can do.
deff('[Xprime]=Sys2(t,X)','Xprime=[A1(t,X(1:2)),A2(t,X(3:4))+g2(t,X(1:2),X(3:4))]')
さて、関数 A1、A2、....An がいくつあるかわかりません。したがって、それらをリストに保存する必要があります。
l1 = list(); l2 = list();
l1.($+1) = A1; l1.($+1) = A2; l1.($+1) = A3; ...
l2.($+1) = g1; l2.($+1) = g2; l2.($+1) = g3; ...
次のような関数を実装したい:
function Xprime=Sys(l1, l2)
//... I do not know what to type ...
endfunction
この関数は次を出力します。
deff('[Xprime]=Sys2(t,X)','Xprime=[A1(t,X(1:2))+g1(t,X(1:2)),A2(t,X(3:4))+g2(t,X(3:4)), ...]')
理解できることを願っています。