1樓:匿名使用者
前乙個警告是因為,你求解的是4個方程,但只指定了3個變數(其它符號會被視為常量),這種方程數量多於未知數的方程組,除非個別特殊情況,大多數是無解的,所以會以警告的形式提示你。
後面的乙個警告,是告訴你求解的結果沒有得到顯式解。得不到顯式解可能是因為方程組本身無解,有可能是matlab求不出。不要對符號運算寄予過高期望,很多非線性方程(組)都是難以求出顯式解的,這在數學上本身就存在困難,當然不能指望乙個軟體就能解決。
求不出解析解的情況下,大部分場合可以借助於數值方法求數值解,當然,這需要常數都是已知的。
matlab怎麼求解有符號變數的方程組
2樓:我行我素
有符號變數時,要用數學符號運算工具箱,先用syms 定義變數,再用solve解方程。如:
syms x
x=solve(x^2-5*x+2==0)結果是:
x =5/2 - 17^(1/2)/2
17^(1/2)/2 + 5/2
3樓:純淨透明
試試simplify,表示式簡化用法r = simplify(s)
matlab中如何求解符號變數的非線性方程組的解,求大神賜教!!!**如下: 65
4樓:匿名使用者
matlab中如何求解符號變數的非線性方程組的解,對於簡單明瞭的方程組可以用solve()求得。solve()求解格式為
eq1=f1(x,y,z),eq2=f2(x,y,z),eq3=f3(x,y,z)
solve(eq1,eq2,eq3)
但分析了你給出的**,我覺得只能用數值的方法求解,得到其數值解。你想要解析值是有一定的難度。
常用的數值方法,有二分法,牛頓法等等。
matlab解具有符號變數巢狀的方程
matlab 符號運算陣列 識別出錯問題 30
5樓:也麼哥
問題的關鍵在於 s=solve(f,x) 這一句,matlab幫助檔案裡面的solve函式說明:
solve(eqn1,eqn2,...,eqnn)
solve(eqn1,eqn2,...,eqnn,var1,var2,...,varn)
因為你這裡面只有x矩陣裡面的符號變數x1_1等是未知變數,其它都是實常數,所以可以直接使用第一種方式,即:s=solve(f),程式預設方程組中所有符號變數均為未知變數。
執行之後是這樣:
s=solve(f)
s =x1_1: [1x1 sym]
x1_2: [1x1 sym]
x1_3: [1x1 sym]
x1_4: [1x1 sym]
x2_1: [1x1 sym]
x2_2: [1x1 sym]
x2_3: [1x1 sym]
x2_4: [1x1 sym]
x3_1: [1x1 sym]
x3_2: [1x1 sym]
x3_3: [1x1 sym]
x3_4: [1x1 sym]
x4_1: [1x1 sym]
x4_2: [1x1 sym]
x4_3: [1x1 sym]
x4_4: [1x1 sym]
s是乙個結構陣列,使用double(s.x1_1)就得到第乙個變數的計算結果了。
關於用matlab求解二元方程的問題,為什麼求解出來的結果是符號呢?
6樓:匿名使用者
syms a1 p1
k1=a1+p1-3;
k2=a1+2*p1+5;
[x,y]=solve(k1,k2,'a1,p1')x =11
y =-8
7樓:卡伊の素
solve(k1,k2,a1,p1)改了,變數是要加單引號的solve(k1,k2,『a1』,『p1』)試試
matlab中如果我想讓帶變數的常微分方程的某個變係數定義為常數,該怎麼寫程式
不要用字串格式。syms y x a 1 z dsolve a diff y,2 diff y 1 matlab 如何規定常數,比如求求sin w t 的導數時,w是常數,t為變數,怎麼定義w syms w t f sin w t f sin w t f1 diff f,t f1 cos w t w...
CAD裡面有塊,裡面有數值,怎麼改變量值的顏色
方法2個 1 輸入x,把塊炸開,更改顏色後,輸入b,隨便起個名字,再重新成組 2 雙擊這個塊,進入塊編輯器,在塊編輯器裡面更改顏色,退出編輯器,確認儲存就可 第一種 首先把這個塊圖層改為0圖層或者是乙個白色的圖層中,然後雙擊開啟這個塊,把黃色部分的字型改為0圖層,顏色改bylayer,然後關閉圖層。...
如何用matlab求解三變數間的關係
syms a r l s a r 容2 2 r l sin a 2 0.5 l 2 r 2 sin 2 a m 2 l 2 a r pi 180 c s 5 3 m 2 3 dcdl diff c,l dcdr diff c,r dcda diff c,a l,r,a solve dcdl,dcdr...