next up previous
: この文書について... : 課題6 : 課題 6-3 向けコメント

課題6-4向けコメント

(1)
これは連立方程式 (多次元の方程式) なので、課題 6-$x$ ($x=1,2,3$) とは 毛色が違い、プログラムは「書き直し」よりは、一から書いた方が早いかもしれ ない。
(2)
Mathematica を使った方が簡単かな…

f[x_,y_]:={x^2-y^2+x+1,2 x y +y}
Df[a_,b_]:=Module[
           {x,y},
           Transpose[{D[f[x,y],x],D[f[x,y],y]}] /. {x->a,y->b}
          ]
{x,y}={1,1}
Do[{x,y}={x,y}-Inverse[Df[x,y]].f[x,y];
   Print[{x,y},"=",N[{p,q},20]],
   {6}
  ]

あるいは、変数の方もベクトル的にリストを使って書いて、

f[{x_,y_}]:={x^2-y^2+x+1,2 x y +y}
Df[{a_,b_}]:=Module[
           {x,y},
           Transpose[{D[f[{x,y}],x],D[f[{x,y}],y]}] /. {x->a,y->b}
          ]
xk={1,1}
Do[xk=xk-Inverse[Df[xk]].f[xk]; Print[xk,"=",N[xk,20]], {6}]



Masashi Katsurada 平成13年7月11日