matlab solve函數的用法


  solve函數常用於求解符號函數的解析解,方程組的解等

1.solve求解析解

syms x y
q='x+y=3';
w=solve(q,'x');% 解函數q關於x的解析解

同樣可以寫成 solve('x+y=3','x');
但是這樣的話就沒法給y賦值了,所以使用 subs函數

y=3;

subs(w);%這一步也可以寫為 subs(w,'y',3)

2.solve解單變量方程

syms x

eqn=sin(x)==1;

solve(eqn,x)

%比如上面的例子,x的取值是可以寫為一個通解的,那就可以用下面的形式

syms x
eqn=sin(x)==1;
[solx,params,conds]=solve(eqn,x,'ReturnConditions',true)

這段代碼的matlab運行結果是

solx =pi/2 + 2*pi*k

params =k

conds =in(k, 'integer')

%顯然這里面params是結果里面的參數,而conds是結果中參數的取值,in是輸入的意思,intger是整數

%這里如果上面直接是s=solve的話,那就相當於建立了一個s對象,它的結果就是s.x,條件是s.comdtion

3.求解多變量方程

%如果不指明的話,solve函數就會通過symvar選擇一個變量(認為該變量是要求解的變量)
clc,clear
syms a b c x
sola=solve(a*x^2+b*x+c==0,a)   %待求解的變量是a
sol=solve(a*x^2+b*x+c==0)  %待求解的變量是x

%當求解的變量大於1個時,你聲明變量的順序就是slove返回解的順序
syms a b
[b,a]=solve(a+b==1,2*a-b==4,b,a)

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM