用法以这个为例:
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)
举个简单例子,解方程组
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来学习。
希望我的回答能够解决您的疑问,谢谢。
例:解方程组a*x+2*y=4,4*x+b*y=7
MATLAB代码:syms a b x y;
z=solve('a*x+2*y=4','4*x+b*y=7')
即可。