功能:采用遗传算法进行隐函数求解

格式:
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error,Max,Min,y1,y2,……,yn)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error,Max,Min,y1,y2,……)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error,Max,Min,y1,y2)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error,Max,Min,y1)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error,Max,Min)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error,Max)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum,Error)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird,LoopSum)
[x1,er,l]=SolveImplicitGA(f,x,x0,Nbird)
[x1,er,l]=SolveImplicitGA(f,x,x0)
[x1,er,l]=SolveImplicitGA(f,x)
[x1,er,l]=SolveImplicitGA(f)

f:符号变量存储的以x,y1,y2,……,yn为变量的表达式
x:需要求解自变量的名称,默认为x
x0:对应求解x变量的初始估计值,如果此值为矩阵变量,每个矩阵的元素对应于于y1,y2,……,yn矩阵变量的元素,此值默认情况下系统随机初始化
Nbird:求解种群数,默认200
LoopSum:求解循环次数,默认3000
Error:求解控制的绝对误差,默认1e-12
Max:变量x的上限,默认为1000.如果此值为矩阵变量时,每个矩阵的元素对应于于y1,y2,……,yn矩阵变量的元素
Min:变量x的下限,默认为-1000.如果此值为矩阵变量时,每个矩阵的元素对应于于y1,y2,……,yn矩阵变量的元素
y1,y2,……,yn:为表达式f当中自变量名称,如果为值或者矩阵变量,其维数必须一致

x1:返回对应的解
er:返回解的相对绝对误差
l:返回求解到解的循环次数

注意:如果有多组解,本函数只返回一组解

例子:
//已知有表达式 6*sin(x+z*y)+5-6*y=0 ,且已知x、z如下,现在求解y的值

x = [ 4.00000000000000    5.00000000000000    6.00000000000000
      7.00000000000000    8.00000000000000    9.00000000000000 ]
z = [-5.00000000000000    6.00000000000000    0.00000000000000
      9.00000000000000    3.00000000000000    4.00000000000000 ]

//假如系统已经有x、z矩阵变量,执行如下两条命令
f="6*sin(x+z*y)+5-6*y";
[y,er,l]=SolveImplicitGA(f,"y",0.1,200,3000,1e-12,50,-50,x,z)//回车后得到如下结果，即x为4，z为-5时对应的y为-0.04122224902315，此时误差为1.3924972286E-13
y =
[-0.04122224902315   -0.10619353114011    0.55391783513437
  0.59132630928697    0.56535672402841    0.91103856432234 ]
er =
[ 1.3924972286E-13    4.2565950764E-13    2.2293278334E-13
  2.3270274596E-13    7.5184303227E-13    1.0036416142E-13 ]
l =
[ 17.0000000000000    18.0000000000000    18.0000000000000
  19.0000000000000    18.0000000000000    14.0000000000000 ]