新しく発言する  EXIT  インデックスへ
連立方程式

  連立方程式 あるく 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 

Re: !2元非線形連立方程式の解  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2007/11/28 21:30:22
自動微分でヤコビ行列を求める場合

精度の違いで多少収束が早い。



!2元非線形連立方程式の解

OPTION ARITHMETIC complex

!自動微分による微分係数の計算(ボトムアップ方式)
SUB DiffSQR(g(), f()) !合成 sqr(g)
LET f(1)=SQR(g(1)) !h(g)
FOR i=2 TO UBOUND(f)
LET f(i)=g(i)/(2*SQR(g(1))) !∂h(g)/∂g * ∂g/∂xi
NEXT i
END SUB


DIM x(3),y(3)
DATA 1,1,0 ![1, ∂f/∂x, ∂f/∂y]
MAT READ x
DATA 1,0,1 ![1, ∂g/∂x, ∂g/∂y]
MAT READ y

DIM c5(3) !定数5
DATA 5,0,0
MAT READ c5

FOR k=1 TO 15 !漸化式を収束させる

DIM xy(2) !凅、凉

!連立1次方程式Jx=bを得る
DIM v1(3),v2(3),v3(3),v4(3)
MAT v1=x+c5 !f(x,y)=x+5-y
MAT v2=v1-y
CALL DiffSQR(x, v3) !g(x,y)=SQR(x)-y
MAT v4=v3-y

DIM J(2,2)
LET J(1,1)=v2(2) !J=(∂f/∂x ∂f/∂y) ヤコビ(Jacobi)行列
LET J(1,2)=v2(3) ! (∂g/∂x ∂g/∂y)
LET J(2,1)=v4(2)
LET J(2,2)=v4(3)

DIM b(2)
LET b(1)=-v2(1) !b=(-f)
LET b(2)=-v4(1) ! (-g)

!---------- ※ガウスの消去法などで2元連立1次方程式を解く
DIM Ji(2,2) !逆行列を求める Full BASIC版
MAT Ji=INV(J) !正則なら
MAT xy=Ji*b
!----------

LET x(1)=x(1)+xy(1) !Xi+1=Xi+凅
LET y(1)=y(1)+xy(2) !Yi+1=Yi+凉
PRINT x(1),y(1) !確認 ‖Xi+1 - Xi‖≦ε(1+‖Xi+1‖)

NEXT k


DEF f(x,y)=x+5-y !f(x)=x+5
DEF g(x,y)=SQR(x)-y !g(x)=SQR(x)
PRINT f(x(1),y(1)),g(x(1),y(1)) !確認 ‖f(xi)‖<δ

END

  │   └たびたびすみません。また質問なのですが、 あるく 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 
  !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回)

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。