[運算] 請問十元一次聯立方程式 的解法已回收

看板MATLAB作者 (啾)時間15年前 (2011/03/22 20:54), 編輯推噓7(7019)
留言26則, 7人參與, 最新討論串1/2 (看更多)
小弟我在算一顆子彈的參數 不過十元一次聯立方程式 真的難倒我了 請各位高手幫我解答一下a.b.c.d.e.f.g.h.i.j是我要求的未知數 eq1=sym('0=a/11.5*cos(8.5*180/pi)+b/32*cos(60*180/pi)+c/54*cos(68*180/pi)+d/84*cos(72*180/pi)+e/111*cos(74*180/pi)+f/138*cos(75.5*180/pi)+g/164*cos(76.7*180/pi)+h/190*cos(77.1*180/pi)+i/217*cos(77.4*180/pi)+j/244*cos(77.6*180/pi)') eq2=sym('0=a/29*(-cos(65*180/pi))+b/13*cos(7*180/pi)+c/32*cos(66*180/pi)+d/58*cos(71*180/pi)+e/84*cos(80*180/pi)+f/110*cos(82*180/pi)+g/137*cos(83*180/pi)+h/164*cos(85*180/pi)+i/190*cos(86*180/pi)+j/216*cos(87*180/pi)') eq3=sym('0=a/54*(-cos(63*180/pi))+b/29*(-cos(77*180/pi))+c/13.5*cos(5*180/pi)+d/31*cos(62*180/pi)+e/56*cos(76*180/pi)+f/81.5*cos(80*180/pi)+g/108.4*cos(83*180/pi)+h/134.6*cos(85.3*180/pi)+i/161*cos(85.9*180/pi)+j/187*cos(86.1*180/pi)') eq4=sym('0=a/83*(-cos(113*180/pi))+b/57*(-cos(108*180/pi))+c/31*(-cos(95*180/pi))+d/19*(-cos(37*180/pi))+e/29.5*cos(28*180/pi)+f/54*cos(43*180/pi)+g/80*cos(47*180/pi)+h/106*cos(50*180/pi)+i/132.5*cos(52*180/pi)+j/159*cos(54*180/pi)') eq5=sym('0=a/111.5*(-cos(88.5*180/pi))+b/85.5*(-cos(75*180/pi))+c/61*(-cos(68*180/pi))+d/37.5*(-cos(50.5*180/pi))+e/24.5*(-cos(3*180/pi))+f/34.8*cos(44*180/pi)+g/57.5*cos(62*180/pi)+h/83*cos(75*180/pi)+i/103.5*cos(78.5*180/pi)+j/134*cos(80.4*180/pi)') eq6=sym('0=a/137*(-cos(80*180/pi))+b/113*(-cos(78*180/pi))+c/86.9*(-cos(73*180/pi))+j/150*cos(78*180/pi)+d/61.5*(-cos(68*180/pi))+e/38*(-cos(51*180/pi))+f/23*(-cos(10*180/pi))+g/32*cos(45*180/pi)+h/54*cos(65*180/pi)+i/80*cos(71*180/pi)') eq7=sym('0=a/168*(-cos(83*180/pi))+b/141*(-cos(80*180/pi))+c/115*(-cos(78*180/pi))+d/89*(-cos(74*180/pi))+e/64*(-cos(69*180/pi))+f/40*(-cos(55*180/pi))+g/23*(-cos(15*180/pi))+h/30.5*cos(43*180/pi)+i/52*cos(65*180/pi)+j/77*cos(72*180/pi)') eq8=sym('0=a/196.5*(-cos(83.5*180/pi))+b/170*(-cos(82*180/pi))+c/144*(-cos(81*180/pi))+d/116.5*(-cos(79*180/pi))+e/91*(-cos(77.5*180/pi))+f/66*(-cos(70*180/pi))+g/41.5*(-cos(58*180/pi))+h/24*(-cos(20*180/pi))+i/30*cos(40.5*180/pi)+j/51.5*cos(60*180/pi)') eq9=sym('0=a/224*(-cos(81*180/pi))+b/198*(-cos(80*180/pi))+c/171*(-cos(79*180/pi))+d/144*(-cos(77.5*180/pi))+e/119*(-cos(75*180/pi))+f/92*(-cos(71*180/pi))+g/66*(-cos(69*180/pi))+h/42*(-cos(58*180/pi))+i/24.5*(-cos(21*180/pi))+j/28*cos(38*180/pi)') eq10=sym('0=a/247*(-cos(85*180/pi))+b/221*(-cos(83*180/pi))+c/193*(cos(82*180/pi))+d/167*(-cos(81*180/pi))+e/142*(-cos(79*180/pi))+f/116*(-cos(78*180/pi))+g/89*(-cos(76*180/pi))+h/64*(-cos(69*180/pi))+i/40*(-cos(55*180/pi))+j/24*(-cos(18*180/pi))') sol=fsolve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10) 請問是哪邊出錯了~~~!!!!!!!! a .b .c. d.e.f.g.h.i.j為我要求的未知數 其他都是已知 10個未知數 10個方程式 應該解的出來才對 請各位高手指點一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 192.83.195.240

03/22 21:22, , 1F
貼個錯誤訊息吧~
03/22 21:22, 1F

03/22 21:28, , 2F
沒有錯誤訊息\= = 還在跑.....
03/22 21:28, 2F

03/22 21:40, , 3F
只是剛剛聽到有人說或許可以用向量解 想說上來求助一下
03/22 21:40, 3F

03/22 21:42, , 4F
說錯 是矩陣解
03/22 21:42, 4F

03/22 22:03, , 5F
十個方程式也要線性獨立啊,你確定這有滿秩嗎?
03/22 22:03, 5F

03/22 22:04, , 6F
還有不是很計較精度的話,用cosd,sind之類的函數會精簡點
03/22 22:04, 6F

03/22 22:05, , 7F
不過可能要先算出數值,sym裡面貌似用不了
03/22 22:05, 7F

03/22 22:16, , 8F
SVD?
03/22 22:16, 8F

03/22 23:37, , 9F
Ax=b x=inv(A)b 用反矩陣解一下就出來啦
03/22 23:37, 9F

03/22 23:37, , 10F
對啊,直接寫成矩陣不是比較容易解嗎
03/22 23:37, 10F

03/22 23:38, , 11F
symbolic運算速度很慢的,你要求解的明明只是一堆數字
03/22 23:38, 11F

03/22 23:40, , 12F
說到Ax=b,現在在編輯m檔時會有提示建議不要使用
03/22 23:40, 12F

03/22 23:40, , 13F
inv(A)*b,而是建議改使用A\b會執行比較快
03/22 23:40, 13F

03/23 00:55, , 14F
推用 A\b +1 是"\"喔
03/23 00:55, 14F

03/23 09:30, , 15F
推A\b
03/23 09:30, 15F

03/23 09:51, , 16F
可以稍微提是我一下矩陣的誠是要如何撰寫嘛
03/23 09:51, 16F

03/23 09:51, , 17F
打個1-2個給我參考一下 其他我依樣畫葫蘆@@
03/23 09:51, 17F

03/23 11:38, , 18F
03/23 11:38, 18F

03/23 11:54, , 19F
感謝 我馬上try
03/23 11:54, 19F

03/23 12:26, , 20F
請問一下我要用哪個指令來定義a~j
03/23 12:26, 20F

03/23 13:00, , 21F
你不用定義a~j,你只要建立好A矩陣和b矩陣
03/23 13:00, 21F

03/23 13:00, , 22F
然後使用A\b跑出來的10個數字就是a~j的答案了
03/23 13:00, 22F

03/23 13:01, , 23F
可是他跑出Undefined function or variable 'a'.
03/23 13:01, 23F

03/23 13:08, , 24F
那就是你用錯了,因為a~j是最後才會得到的結果
03/23 13:08, 24F

03/23 13:08, , 25F
不會一開始出現在程式內需要定義
03/23 13:08, 25F

03/23 13:13, , 26F
可是我的未知數 在分子 沒辦法像一般的聯立 直接key值
03/23 13:13, 26F
文章代碼(AID): #1DY9mZR1 (MATLAB)
文章代碼(AID): #1DY9mZR1 (MATLAB)