matlab怎麼求解有符號變數的方程組

2021-04-30 14:27:23 字數 2658 閱讀 8269

1樓:我行我素

有符號變數時,要用數學符號運算工具箱,先用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

2樓:純淨透明

試試simplify,表示式簡化用法r = simplify(s)

matlab中如何求解符號變數的非線性方程組的解,求大神賜教!!!**如下: 65

3樓:匿名使用者

matlab中如何求解符號變數的非線性方程組的解,對於簡單明瞭的方程組可以用solve()求得。solve()求解格式為

eq1=f1(x,y,z),eq2=f2(x,y,z),eq3=f3(x,y,z)

solve(eq1,eq2,eq3)

但分析了你給出的**,我覺得只能用數值的方法求解,得到其數值解。你想要解析值是有一定的難度。

常用的數值方法,有二分法,牛頓法等等。

怎麼用matlab解含有字母系數的方程組的解,舉個簡單例子

4樓:大野瘦子

用法以這個為例:

x+a*y=10

x-b*y=1

其中x,y為變數,a,b為字母系數.

只要在matlab中輸入

syms x,y,a,b

[x y]=solve('x+a*y=10','x-b*y=1','x','y')

即可求出解

x =(a + 10*b)/(a + b)

y =9/(a + b)

對於函式solve的具體用法,可以通過輸入help solve來學習。

matlab中方程求解的基本命令

1.roots(p)  %求多項式的根,其中p是多項式向量。

例求x3-x2+x-1=0的根

解:>>roots([1,-1,1,-1])

注: [1,-1,1,-1]在matlab中表示多項式 x3-x2+x-1

2.solve(fun)     %求方程fun=0的符號解,如果不能求得精確的符號解,可以計算可變精度的數值解

例:用solve求方程x9+x8+1=0的根

解:>>solve(『x^9+x^8+1』)

給出了方程的數值解(32位有效數字的符號量)

3.solve(fun,var)     %對指定變數var求代數方程fun=0的符號解。

例:解方程 ax2+bx2+c=0

解:>>syms a b c x;

>>f=a*x^2+b*x+c;

>>solve(f)

如果不指明變數,系統預設為x,也可指定自變數,比如指定b為自變數

>>symsa b c x;

>> f=a*x^2+b*x+c;

>>solve(f,b)

4.fsolve(fun,x0)    %求非線性方程fun=0在估計值x0附近的近似解。

例:用fsolve求方程x=e-x在0附近的根

解:>>fsolve(『x-exp(-x)』,0)

5.fzero(fun,x0)   %求函式fun在x0附近的零點

例:求方程x-10x+2=0在x0=0.5附近的根

解:>>fzero(『x-10^x+2』,0.5)

5樓:匿名使用者

舉個簡單例子,解方程組

x+a*y=10

x-b*y=1

其中x,y為變數,a,b為字母系數。

只要在matlab中輸入

syms x,y,a,b

[x y]=solve('x+a*y=10','x-b*y=1','x','y')

即可求出解

x =(a + 10*b)/(a + b)y =9/(a + b)

對於函式solve的具體用法,可以通過輸入help solve來學習。

希望我的回答能夠解決您的疑問,謝謝。

6樓:匿名使用者

例:解方程組a*x+2*y=4,4*x+b*y=7matlab**:syms a b x y;

z=solve('a*x+2*y=4','4*x+b*y=7')即可。

matlab解具有符號變數巢狀的方程

matlab裡面,有符號變數的方程組的求解,為什麼執行全都是warning然後結果是empty s

7樓:匿名使用者

前一個警告是因為,你求解的是4個方程,但只指定了3個變數(其它符號會被視為常量),這種方程數量多於未知數的方程組,除非個別特殊情況,大多數是無解的,所以會以警告的形式提示你。

後面的一個警告,是告訴你求解的結果沒有得到顯式解。得不到顯式解可能是因為方程組本身無解,有可能是matlab求不出。不要對符號運算寄予過高期望,很多非線性方程(組)都是難以求出顯式解的,這在數學上本身就存在困難,當然不能指望一個軟體就能解決。

求不出解析解的情況下,大部分場合可以藉助於數值方法求數值解,當然,這需要常數都是已知的。

matlab把符號變數轉化為數值變數

subs f x 10 subs 替換函式,上面是指把x 10賦給f x y double x matlab function feval 我來解答,double x 即可,快來給滿分!matlab中如何把符號變數轉化為數值變數?有點奇怪,你通過sym2poly得到了數值型的係數矩陣coeff,然後...

matlab中syms是定義符號變數請問什麼叫符號變

符號變數比一般的變數應用更廣泛些,用於計算的一般的變數是數值,而符號變數既是符號,又能是數值,能變換,並且常作為自變數使用,在方程中作未知數用,符號變數在沒給定數值時,就能用於計算,這是一般變數所不能比的。符號變數就是用於符號運算的變數,例如分解一個關於x的多項式,那麼x就是一個符號變數 應該他沒有...

matlab中sym符號變數不是固定的數,怎麼轉變為do

你的這種寫法是不是有問題?比如 sym 可能應該是syms j 這個變數是不必要的 syms 函式放在迴圈裡似乎不大好 雖然對結果應該沒什麼影響 至於轉變,賦值語句 sum 3之類 具有最高的許可權,會無視該變數原來是什麼。另外,對符號變數及符號函式而言,subs 替換 比較常用,比如 y x 1,...