『壹』 matlab优化工具箱怎么调用呀我们要处理贝叶斯诊断问题请问该怎么操作
1、MATLAB自带工具箱
查看方来式:源
首先详细介绍一下MATLAB自带工具箱的使用。
在不熟悉一些调用工具箱的命令的时候,可以在MATLAB主窗口中,点击左下角start--toolboxes,就会罗列出MATLAB已经安装的所有工具箱,可以根据个人的需要选择将要使用的工具箱。可以看到有拟合工具箱、金融工具箱、最优化工具箱等等。
2、调用(打开)方式:以调用拟合工具箱为例,进行详细的示例。
调用方式一:
按照以下步骤:
点击主窗口左下角start--toolboxes--curve fitting--curve fitting tool 单击,就可以打开拟合工具箱。
3、调用方式二:
在上一步中,在start--toolboxes--curve fitting--curve fitting tool ,到这里的时候,会看到在其后面有一个简写 cftool ,这就是拟合工具箱调用命令函数。在MATLAB主窗口中输入cftool ,回车,同样可以打开拟合工具箱。
4、工具箱的使用:
拟合工具箱打开之后,就可以进行多种曲线拟合了。
『贰』 在matlab中,使用优化工具箱fmincon,计算一个优化问题,但报错了,求大神讲解
目标函数(Objective function)应该设置为@(x)-x(1)*x(2)*x(3),像你现在的目标函数是需要三个输入参数的,而fmincon调用它的时候只会提供一个参数,所以导致输入参数不足。
另外,像这种简单的优化问题,其实也可以直接用命令行调用:
fmincon(@(x)-x(1)*x(2)*x(3),[10 10 10],[-1 -2 -2;1 2 2],[0 72])
『叁』 在用matlab的优化工具箱中的linprog求解器或者其他求解器求最优值时,怎么设置变量约束条件为整数
可以用分支定界法求解整数规划问题,给你源码:
function [x,fm] = IntProgFZ(f,A,b,Aeq,beq,lb,ub)
x = NaN;
fm = NaN;
NF_lb = zeros(size(lb));
NF_ub = zeros(size(ub));
NF_lb(:,1) = lb;
NF_ub(:,1) = ub;
F = inf;
while 1
sz = size(NF_lb);
k = sz(2);
opt = optimset('TolX',1e-9);
[xm,fv,exitflag] = linprog(f,A,b,Aeq,beq,NF_lb(:,1),NF_ub(:,1),[],opt);
if exitflag == -2
xm = NaN;
fv = NaN;
end
if xm == NaN
fv = inf;
end
if fv ~= inf
if fv < F
if max(abs(round(xm) - xm))<1.0e-7
F = fv;
x = xm;
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
if isempty(NF_lb) == 0
continue;
else
if x ~= NaN
fm = F;
return;
else
disp('不存在最优解!');
x = NaN;
fm = NaN;
return;
end
end
else
lb1 = NF_lb(:,1);
ub1 = NF_ub(:,1);
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
[bArr,index] = find(abs((xm - round(xm)))>=1.0e-7);
p = bArr(1);
new_lb = lb1;
new_ub = ub1;
new_lb(p) = max(floor(xm(p)) + 1,lb1(p));
new_ub(p) = min(floor(xm(p)),ub1(p));
NF_lb = [NF_lb new_lb lb1];
NF_ub = [NF_ub ub1 new_ub];
continue;
end
else
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
if isempty(NF_lb) == 0
continue;
else
if x ~= NaN
fm = F;
return;
else
disp('不存在最优解!');
x = NaN;
fm = NaN;
return;
end
end
end
else
tmpNF_lb = NF_lb(:,2:k);
tmpNF_ub = NF_ub(:,2:k);
NF_lb = tmpNF_lb;
NF_ub = tmpNF_ub;
if isempty(NF_lb) == 0
continue;
else
if x ~= NaN
fm = F;
return;
else
disp('不存在最优解!');
x = NaN;
fm = NaN;
return;
end
end
end
end
『肆』 MATLAB如何使用ga遗传算法工具箱进行优化
1、首先,打开MATLAB软件。
2、设置一个m文件,用于计算个体的适应度函数输出值一个适应度,输入是我们要优化的参数;例如:要优化的参数(x ,y ,z)则适应度函数的基本结构应是v=function(x, y, z)。
3、输入“gatool”指令打开工具箱,如图所示。
4、如图所示,打开的ga工具箱界面。
5、输入我们的适应度函数,和要优化的个数,和一些其它设置,要根据我们的任务决定;例如:适应度函数为:v=function(x, y, z)时要配置适应度函数项为@function。
6、要优化的参数个数为3。左后单击“start”开始,等待一段时间就会出现我们要优化的参数。