功能:采用具有四阶速度的迭代算法求解非线性方程组

格式:
[ax,error]=nlinSolveDT4(f,x,x0,erro,loop)
[ax,error]=nlinSolveDT4(f,x,x0,erro)
[ax,error]=nlinSolveDT4(f,x,x0,erro)
[ax,error]=nlinSolveDT4(f,x,x0)
[ax,error]=nlinSolveDT4(f,x)

f:符号变量,里面主要储存一连串的函数方程,每个方程用逗号分隔.注意如果方程为sin(x)-cos(y)*7=8,那么f里储存的就是sin(x)-cos(y)*-8,即要把方程右边的常数项变为0
x:储存f里变量的符号变量,每个变量名称以逗号分隔
x0:x对应变量的初始迭代值.x0为数据时,每个x的初始值均为x0,当x0为矩阵变量(1*m或者m*1的矩阵,其中m表示x变量的个数),则x0每个元素依次初始化给x.默认初始迭代值均为1.369857425
erro:不小于0的误差控制变量,默认为1e-7
loop:迭代的次数上限,此值必须大于0,默认为3000

ax:返回求得的解
error:返回的残差平方和

备注:
1、这里方程的个数不一定要等于变量的个数
2、这个函数的名称后跟随DT是取自两位算法作者的姓氏拼音的第一个字母,4代表具有四阶速度.

参考:《两种解非线性方程组的四阶迭代方法》代璐璐,檀结庆-数学计算与计算机应用-2012/6-公式(7)

例子:

//请求解下面的方程组
//sin(x)*8+4*y^2-z=10
//x^2-cos(z)*7=1.235
//log(x^2+4)*7-y*z+7=12.78
//依次执行下面的代码后得到最好Ans的结果

f="sin(x)*8+4*y^2-z-10,x^2-cos(z)*7-1.235,log(x^2+4)*7-y*z+7-12.78";
x="x,y,z";
[an,er]=nlinSolveDT4(f,x)//回车后得到如下的结果
an =
[ 1.28862640124384     1.33131443048818     4.77322049128465   ]
er =
[ 3.3306690738E-15 ]