fslove - Matlab 求解多元多次方程组
简介: 之前看到网上的一些资料良莠不齐, 各种转载之类的, 根本无法解决实际问题, 所以我打算把自己的学到的总结一下, 以实例出发讲解 fsolve.
示例如下:
\[ \begin{cases} 2x_1 - x_2 = e^{ax_1} \-x_1 + 2x_2 = e^{ax_2} \\end{cases} \]
具体的求解过程在后面 点击跳转
1. fsolve 的基本使用
调用格式一:
X = fslove(FUN,X0)
功能: 给定初值 X0, 求解方程组的解, X 就是返回的解
调用格式二:
X = fsolve(FUN,X0,OPTIONS)
功能: 同上, 并解决默认参数优化为 options 指定值
调用格式三:
[X,FVAL] = fslove(FUN,X0,...)
功能: 返回 X 处目标函数值
调用格式四:
[X,FVAL,EXITFLAG] = fslove(FUN,X0,...)
功能: 返回 EXITFLAG 的值, 用来描述计算退出的条件, 其中 EXITFLAG 取值和相应的含义如下表.(主要作为判断条件来使用)EXITFLAG含义1函数 fslove 收敛于解 X 处
2X 的变化小于限制
3残差变化小于限制
4重要搜索方向小于限制
0达到最大迭代次数或者评价标准
-1算法由输出函数终止
-2算法无法收敛到解的点
-3信赖域半径太小
-4线搜索在当前不能充分减少残差
调用格式五:
[X,FVAL,EXITFLAG,OUTPUT] = fslove(FUN,X0,.