連立方程式 あるく 2007/11/21 18:11:37 (修正2回) ├ガウスの消去法は,通常,連立一次方程式を... 白石 和夫 2007/11/21 21:04:24 │└いえ、ガウス法ではなく、ガウスの消去法の... あるく 2007/11/22 23:17:59 │ └非線形の連立方程式を解くためのガウス消去... 白石 和夫 2007/11/23 09:06:48 │ └!2元非線形連立方程式の解 山中和義 2007/11/23 13:15:07 (修正1回) │ ├!オセッカイですが・・ SECOND 2007/11/24 00:21:32 │ │└質問なのですが、皆さんが使ってる"!"はどう... あるく 2007/11/24 19:05:44 │ │ └ヘルプファイルに、詳しい説明があります。 SECOND 2007/11/25 00:05:30 (修正1回) │ ├2.312376477871337.31237647787135 あるく 2007/11/27 17:43:16 (修正1回) │ │└そうです。 山中和義 2007/11/27 18:44:39 │ │ └ありがとうございます。疑問が解消しました... あるく 2007/11/27 19:17:46 │ ├自動微分でヤコビ行列を求める場合 山中和義 2007/11/28 21:30:22 │ └たびたびすみません。また質問なのですが、 あるく 2007/12/02 16:39:20 │ └たとえば, 白石 和夫 2007/12/02 16:52:02 (修正1回) │ └なるほど。 あるく 2007/12/02 18:08:53 (修正1回) │ └わかりやすい記述に変更してください。 山中和義 2007/12/03 10:04:15
Re: なるほど。 |
返事を書く ノートメニュー |
山中和義 <drdlxujciw> 2007/12/03 10:04:15 | |
わかりやすい記述に変更してください。
>Jiは2行2列の行列で、Jの逆行列である。という意味になるのでしょうか? そうです。 >DIM x(2) >この場合は2行1列になるのでしょうか? Ax=bから、これはベクトルですが、MAT文では、2行1列の行列として取り扱われます。 BASICでは、1次元の配列(添え字が1つ)です。 通常のプログラム言語では、このような「数の組」を配列を使って表現します。 下記のように、DIM x(2,1)と宣言したほうがいいかと思います。DIM b(2,1)も同様。 !2元非線形連立方程式の解 OPTION ARITHMETIC complex DEF f(x,y)=x+5-y !f(x)=x+5 DEF g(x,y)=SQR(x)-y !g(x)=SQR(x) LET d=0.1 !∂ LET xi=0 !初期値 LET yi=0 FOR i=1 TO 15 !収束させる !連立1次方程式Jx=bを得る DIM J(2,2) LET fxy=f(xi,yi) !差分 LET J(1,1)=(f(xi+d,yi)-fxy)/d !J=(∂f/∂x ∂f/∂y) ヤコビ行列 LET J(1,2)=(f(xi,yi+d)-fxy)/d ! (∂g/∂x ∂g/∂y) LET gxy=g(xi,yi) LET J(2,1)=(g(xi+d,yi)-gxy)/d LET J(2,2)=(g(xi,yi+d)-gxy)/d DIM b(2,1) LET b(1,1)=-f(xi,yi) !b=(-f) LET b(2,1)=-g(xi,yi) ! (-g) !---------- ※ガウスの消去法などで2元連立1次方程式を解く DIM Ji(2,2) !逆行列を求める MAT Ji=INV(J) DIM x(2,1) !解凅、凉 MAT x=Ji*b !---------- LET xi=xi+x(1,1) !Xi+1=Xi+凅 LET yi=yi+x(2,1) !Yi+1=Yi+凉 PRINT xi,yi !確認 NEXT i END |
└!f(x)=x+5 SECOND 2007/11/22 18:47:13 (修正1回) └ありがとうございます。 あるく 2007/11/22 23:25:17 └!複素数平面(ガウス平面)で根の見当をつけ... 山中和義 2007/11/23 13:52:37 (修正1回)