Re: [問題] 解聯立方程式
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間13年前 (2011/11/11 23:37)推噓1(1推 0噓 4→)留言5則, 2人參與討論串2/2 (看更多)
※ 引述《qoodeva (發呆的花枝)》之銘言:
: 目前要解22條聯立方程式
: 由於這22條聯立方程裡面有一個特別的未知數ω
: 我想說疊代ω求出22條聯立方程式
: Do[
: Solve[Do[eqn[i] ==0,{i,1,22,1},{Do[a[j],{j,1,22,1}]}],{ω,1,400,0.001}
: ]
: 可是作不出來,不知道有沒有什麼方法能指定ω數值範圍後
: "近似"求出這22條聯立方程式的解??
: 不好意思我是使用8版的新手^^"
假設5個變數
myrule = x[i_] :> ToExpression[ToString[x] <> ToString[i]];
(* 定義變數 *)
vars = Table[x[i], {i, 5}] /. myrule
(* 隨機產生5條方程式 *)
eqn = Table[
Insert[Table[x[i], {i, 5}] /. myrule, RandomInteger[{-100, 100}],
1].Insert[RandomInteger[{-10, 10}, 5], w, 1], {5}]
(* 求解聯立方程式 *)
ans = vars /. Solve[eqn == Table[0, {Length@vars}], vars][[1]]
(* 將w帶回去方程式,以下兩種方式都可以 *)
TableForm[Flatten[{w, ans} /. w -> #] & /@ Range[1, 10, 1/10]])
TableForm[Table[Flatten@{z,
Solve[eqn == Table[0, {Length@vars}] /. w -> z, vars][[1]]},
{z,1, 10, 1/10}]]
如果要近似解的話,那應該要改用FindRoot,
簡單的迴圈用Table就好~
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.131.144
推
11/12 09:22, , 1F
11/12 09:22, 1F
→
11/12 09:24, , 2F
11/12 09:24, 2F
→
11/12 09:24, , 3F
11/12 09:24, 3F
→
11/12 10:26, , 4F
11/12 10:26, 4F
→
11/12 10:26, , 5F
11/12 10:26, 5F
討論串 (同標題文章)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章