matlab优化
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 20:45:40
matlab优化
function zuiyouhua()
clc
A=[0,0,0,0,0,1;0,0,0,-1,0,0];B=[8;-4];
Aeq=[];Beq=[];
LB=[];UB=[];
x0=zeros(6,1);
options = optimset('Algorithm','sqp');
[X,FVAL] = FMINCON(@myfun,x0,A,B,Aeq,Beq,LB,UB,@(x) mycon(x),options);
disp('规划求解得到x取值为')
X
disp('规划求解得到目标函数最小值为')
FVAL
function f = myfun(x)
f = (x(1)-x(4))^2+ (x(2)-x(5))^2+(x(3)-x(6))^2;
function [c,ceq] = mycon(x)
c =[x(1)^2+x(1)^2+x(1)^2-5;(x(4)-3)^2+x(5)^2-1];
ceq = [];
再问: 我想问一下我的程序哪里有问题,我建了三个m文件
再答: 你的最后一句改成[x,fval] = fmincon(@fun,x0,A,b,Aeq,beq,lb,ub,@myfun)就行了,书写要规划,规矩要遵守
clc
A=[0,0,0,0,0,1;0,0,0,-1,0,0];B=[8;-4];
Aeq=[];Beq=[];
LB=[];UB=[];
x0=zeros(6,1);
options = optimset('Algorithm','sqp');
[X,FVAL] = FMINCON(@myfun,x0,A,B,Aeq,Beq,LB,UB,@(x) mycon(x),options);
disp('规划求解得到x取值为')
X
disp('规划求解得到目标函数最小值为')
FVAL
function f = myfun(x)
f = (x(1)-x(4))^2+ (x(2)-x(5))^2+(x(3)-x(6))^2;
function [c,ceq] = mycon(x)
c =[x(1)^2+x(1)^2+x(1)^2-5;(x(4)-3)^2+x(5)^2-1];
ceq = [];
再问: 我想问一下我的程序哪里有问题,我建了三个m文件
再答: 你的最后一句改成[x,fval] = fmincon(@fun,x0,A,b,Aeq,beq,lb,ub,@myfun)就行了,书写要规划,规矩要遵守