matlab中非线性方程组求解问题(关于fsolve和solve的差别)

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:30:57
如果非线性方程组可以有无穷多解,fsolve可以在图上获取零点初始数值,计算一组解,那么solve函数求得的是哪组解?
fsolve和solve在精度方面有多大差别?

fsolve是用迭代方法计算选定迭代初始点的解。
solve是一般的解方程和方程组,精度变化应该变化比较大;简单的方程(组),是精确解。
我记得solve的到好几组解吧。比如:
A = solve('a*u^2 + v^2', 'u - v = 1', 'a^2 - 5*a + 6')

returns

A =

a: [4x1 sym]
u: [4x1 sym]
v: [4x1 sym]

where

A.a =
[ 2]
[ 2]
[ 3]
[ 3]
A.u =
[ 1/3+1/3*i*2^(1/2)]
[ 1/3-1/3*i*2^(1/2)]
[ 1/4+1/4*i*3^(1/2)]
[ 1/4-1/4*i*3^(1/2)]
A.v =
[ -2/3+1/3*i*2^(1/2)]
[ -2/3-1/3*i*2^(1/2)]
[ -3/4+1/4*i*3^(1/2)]
[ -3/4-1/4*i*3^(1/2)]
把所有解都给出了。