Re: [問題] 遞迴方程式寫法
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間10年前 (2014/09/26 14:59)推噓4(4推 0噓 8→)留言12則, 3人參與討論串2/2 (看更多)
※ 引述《GOLDRAN (貝卡斯)》之銘言:
: 我是最近才開始使用Mathematica的新手,有問題想請版上大大幫忙>"<
: 目的是要解出 Xn,Yn,Zn,其中n=1,2,3,...
: 經過整理可以得到Zn的三次方程式,式中包含Xn-1,Yn-1,Zn-1
: n=1的初始值是自己給的,使用NSolve解出3個根(1實根,2虛根)
: 將Zn的實根,代入Xn,Yn的方程式,可以得到Xn,Yn
: 下一步是將Xn,Yn,Zn取代原本的Xn-1,Yn-1,Zn-1,然後重復動作算出Zn+1
: 最後將X,Y,Z的值畫成3D圖
eqs={4x+3y+3z==350,4x+2y+5z==360,8x+8y+10z==840};
Solve[eqs,{x,y,z}]
ans=Block[{temp},
NestWhileList[(
(* 給定z,求x, y *)
temp=Solve[eqs[[3]]/.{x->#[[1]],y->#[[2]]},z,Reals][[1]];
(* 把x,y拿來求z *)
Flatten[{x,y,z/.temp}/.Solve[eqs[[1;;2]]/.temp,{x,y},Reals]]
(* 直到誤差小於10^-5才停止 *)
)&,{0,0,0},(N[Norm[#1-#2]]>10^-5)&,2]
]
N@ans
Show[ContourPlot3D[Evaluate@eqs,{x,0,100},{y,0,100},{z,0,100},
ContourStyle->Opacity[0.2],Mesh->None],
(* 把圖畫出來 *)
Graphics3D[{Red,Arrow/@Partition[ans,2,1]}]]
: 請問連續代入解方程式,且會自動取實根的部份要怎麼寫呢?
?Solve
Solve[expr,vars,dom]
Solve[expr,vars,Reals]
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.240.46
※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1411714763.A.FC1.html
推
09/26 17:05, , 1F
09/26 17:05, 1F
推
10/02 11:50, , 2F
10/02 11:50, 2F
→
10/02 11:51, , 3F
10/02 11:51, 3F
→
10/02 11:51, , 4F
10/02 11:51, 4F
推
10/02 23:57, , 5F
10/02 23:57, 5F
→
10/02 23:58, , 6F
10/02 23:58, 6F
→
10/02 23:59, , 7F
10/02 23:59, 7F
→
10/02 23:59, , 8F
10/02 23:59, 8F
→
10/03 00:00, , 9F
10/03 00:00, 9F
→
10/03 00:01, , 10F
10/03 00:01, 10F
→
10/03 00:02, , 11F
10/03 00:02, 11F
推
10/06 19:50, , 12F
10/06 19:50, 12F
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章