|
1.符号解代入参数转为数值解
利用solve函数求解方程得到符号解,再将解代入subs函数,无须其他参数,例如:
clc,clear
a=1;b=2;
y=solve('a*x^2+b*x+1','x');
y=subs(y);
y=double(y) %符号型转为双精度型
---------------------------------------------------
y =
-1
-1
2.执行solve函数出错
提示solve中方程的符号表达式不正确,具体提示为:
Error using solve>processString (line 354)
'......' is not a valid expression or equation.
Error in solve>getEqns (line 284)
eqns = processString(eqns, v, vc);
Error in solve (line 160)
[eqns,vars,options] = getEqns(varargin{:});
......
这有可能是由于符号表达式'......'中含有solve函数已用过的变量名称,如theta,beta。此时换个名称即可
3.非线性方程求解函数
fzero(),fsolve()
此时需要定义函数,函数定义可以新建立函数M文件,也可定义匿名函数,匿名函数定义例如:
f=@(x)sin(x)+cos(x);
在使用函数fzero和fsolve时,需要给定零点或称之为解的大致位置以及非线性求解方法等参数
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 00:47
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社