工具箱提供的拟合类型有:
“Fit options”按钮:设置拟合算法、修改待估计参数的上下限等参数
问题在于只能拟合有一个变量或者是两个变量的曲线。

(1)fminunc: 无约束 非线性 单变量优化,求极小值;需要提前写好func.m的函数,在objectfunction中输入@func.
应用典型类似 y=x^2-x+2
(2)fminsearch: 无约束 不可微 非线性 单变量优化,求极小值。典型应用类似于y=|x-3|
(3)lsqnonlin:无约束 非线性 最小二乘优化,求极小值。
(1) fmincon :有约束 非线性 多变量优化,求极小值。多变量用x(1),x(2),x(3)...x(n)表示,约束表示:AX<=b AeqX=beq
注意是极小值而不是最小值,所以start point对于最终结果的影响比较大。
也可以求解非线性约束。使用方法类似于ga。
(2)linprog:线性规划,注意这里的f不是输入@func,而是输入参数的数组。比如说:min f=-4*x1-x2,输入f=[-4,-1]
(1)ga
fitness function: 目标函数,传入numbers of variables个数的行向量。
numbers of variables:变量的个数
nonlinear constraint function:非线性约束函数,传入x,返回c(x)和ceq(x)。c(x)<=0 ceq(x)=0
[x,fval,exitflag,output,population,scores] = ga(fun,nvars,A,b,[],[],lb,ub,nonlcon,IntCon,options)
其中x是最小值对应的自变量,fval是最小值对应的因变量,nonlcon代表非线性约束,intCon为整数约束的变量的index。
当IntCon非空时,Aeq 并且beq必须是空条目([]),并且nonlcon必须返回空ceq。
(1)最大最小问题
[x,fval,maxfval,exitflag,output,lambda] = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
exitflag为145,则得到的解决方案正确;为0,则达到迭代次数停止;为-1,被输出函数终止;为-2,则找不到可行点。
maxfval评估的函数的最大值。

(2)gamultiobj
使用遗传算法求解多目标优化问题
[x,fval,exitflag,output,population,scores] = gamultiobj(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
关于输入参数:
fun是目标函数,输入行向量x,返回函数数组f(x)的实数向量
nvars是变量数,即x的长度
关于输出结果:
x是帕累托点
fval是帕累托点的参数值
exitflag为1即结果正确;为0则超过最大迭代次数;为-1则由输出函数终止;为-2则找不到可行点;为-5则超出时限。
(3)fgoalattain
多目标达成问题
[x,fval,attainfactor,exitflag,output,lambda] = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)
输出参数:
attainfactor:描述目标到达的程度。若是负的,证明已经超过了目标值;若是正的,证明小于目标值。
输入参数:
goal:目标向量
weight:控制目标的到达程度
关于整数规划即为在intcon中填写有整数规划的下角标,关于0-1规划即为整数规划加上范围限定为0到1.
https://blog.csdn.net/u010155023/article/details/48058391
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删