matlab求方程數值解,最後得出結果總是有問題,請問有人幫我看一下嗎,謝謝了

2021-05-05 14:36:58 字數 1084 閱讀 6295

1樓:匿名使用者

由於方程有多個的解,使用subs()無法用s陣列值替代 x1、 x2、 x3、 y1、 y2、 y3、 z1、 z2、 z3的值。所以最有效的方法是,直接將s陣列值賦值給 x1、 x2、 x3、 y1、 y2、 y3、 z1、 z2、 z3。按這個要求更改,可以得到a、b、c、d的解。

syms a b c d

s=[2,4,2^0.5;4,2,2^0.5;2,4,2^0.5];

x1=s(1,1); x2=s(2,1); x3=s(3,1); y1=s(1,2); y2=s(2,2); y3=s(3,2); z=s(1,3); z2=s(2,3); z3=s(3,3);

[a,b,c,d]=solve(a*x1+b*y1+c*z1==d,a*x2+b*y2+c*z2==d,a*x3+b*y3+c*z3==d,a^2+b^2+c^2==1,'a','b','c','d')

2樓:昱婷漫步

是給出的s值有問題,運算中出現了被0除的錯誤。

修改s如下,執行未報錯:

用matlab求解方程組,matlab一直顯示正忙,是我的程式有問題還是matlab解這種複雜的方程組就是需要很久?

3樓:真

就是需要很久。符號計算用mathmatica或maple更適合。matlab以前用的maple核心,但現在改用mupad,能力弱很多。

matlab 解方程用matlab 解這個方程的數值解,急 10

4樓:和藹的禾鬥

我求解出現複數,感覺這不是你想要的結果,但我還是放這吧!

solve('((5.7182*x^2-9.4364*x+5.577)/(1-2*x))*log((1-x)/x)+3.7182*log(x)-1.704=0','x')

ans =

.50000000000000000000000000000000+.17473052282862965912408182829672*i

matlab符號方程求解,matlab 解符號方程組

syms x y a1 a2 eq1 0.33 cos a1 0.3 cos a1 a2 x eq2 0.33 sin a1 0.3 sin a1 a2 y x 0.3 y 0.5 s solve eval eq1 eval eq2 s solve subs eq1 subs eq2 這兩句都來可以...

怎麼用MATLAB程式設計求方程組的解

b 4 3 9 8 a1 a b r rref a1 r 1.0000 0 0 0 1.4841 0 1.0000 0 0 0.6816 0 0 1.0000 0 0.5337 0 0 0 1.0000 1.2429 最後一列為方程的抄解,跟樓上的那位仁兄的好像有點差別,不過我把我的解代入原方程檢驗...

解方程3 x 1 4 x解得,解方程3 x 1 4 x解得

若 1在分母上 3 x 1 4 x 3x 4 x 1 3x 4x 4 x 4經檢驗,x 4是原方程的解 若 1不在分母上 3 x 1 4 x 3 x 4 x 1 1 x 1 x 1 經檢驗,x 1是原方程的解 解分式方程最後一步一定是檢驗,否則是要扣分的,切記 你好,這道題如果如你所寫,會產生歧義,...