Re: [問題] 解聯立方程式

看板Mathematica作者 (養花種魚數月亮賞星星)時間13年前 (2011/11/11 23:37), 編輯推噓1(104)
留言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
具物理定義會知道ω的值是正數,我有想過用sign,可是寫
11/12 09:24, 2F

11/12 09:24, , 3F
不出來==
11/12 09:24, 3F

11/12 10:26, , 4F
可以的話po一個簡單的例子,這樣會比較多人知道你要
11/12 10:26, 4F

11/12 10:26, , 5F
的需求是什麼
11/12 10:26, 5F
文章代碼(AID): #1ElK4SDs (Mathematica)
討論串 (同標題文章)
文章代碼(AID): #1ElK4SDs (Mathematica)