1.线性方程数值求解
主要是用到了计算方法里的LU分解等不过是加快了求解速度而已相对于inv(A)*b或者A\b
2.非线性方程数值求解
1 单变量非线性方程求解
在MATLAB中提供了一个fzero函数可以用来求单变量非线性方程的根。该函数的调用格式为
z=fzero('fname',x0,tol,trace)
其中fname是待求根的函数文件名x0为搜索的起点。一个函数可能有多个根但fzero函数只给出离x0最近的那个根。tol控制结果的相对精度缺省时取tol=epstrace指定迭代信息是否在运算中显示为1时 显示为0时不显示缺省时取trace=0。
例 求f(x)=x-10x+2=0在x0=0.5附近的根。
步骤如下
(1) 建立函数文件funx.m。
function fx=funx(x)
fx=x-10.^x+2;
(2) 调用fzero函数求根。
z=fzero('funx',0.5)
z =
0.3758
2 非线性方程组的求解
对于非线性方程组F(X)=0用fsolve函数求其数值解。fsolve函数的调用格式为
X=fsolve('fun',X0,option)
其中X为返回的解fun是用于定义需求解的非线性方程组的函数文件名X0是求根过程的初值option为最优化工具箱的选项设定。最优化工具箱提供了20多个选项用户可以使用optimset命令将它们显示出来。如果想改变其中某个选项则可以调用optimset()函数来完成。例如Display选项决定函数调用时中间结果的显示方式其中‘off’为不显示‘iter’表示每步都显示‘final’只显示最终结果。optimset(‘