
用MATLAB解决非线性规划问题 但是结果出现 ??? Error using ==> fun2 Too many output arguments. 5
clear;clc;APV=[2293.479957,1137554.769,844424930131968000,422.7825184,5000000,2024891...
clear;clc;
APV=[2293.479957, 1137554.769, 844424930131968000, 422.7825184, 5000000, 2024891624, 398.9413317, 6000000, 1569913299];
ACV=[ 32.85239792, 34.21254091, 31.87163402, 127.5827952, 180, 140.7870303, 306.4603828, 290, 306.4603828];
VAR=[ 0, 4.65851E+11, 7.92282E+34, 34287.6885, 0, 0, 28761.89961, 0, 2.5E+15];
X0=[0.016875548 0.018982253 0.016237572 0.0907956 0.121981489 0.100365053 0.215239131 0.20435803 0.215166324];
A=-ACV;b=-150;
Aeq=[1,1,1,1,1,1,1,1,1];beq=1;
VLB=0;VUB=1;
[X,fval]= fmincon ('fun1',X0,A,b,Aeq,beq,VLB,VUB, 'fun2');
然后两个M函数为
function f=fun1(X);
APV=[2293.479957, 1137554.769, 844424930131968000, 422.7825184, 5000000, 2024891624, 398.9413317, 6000000, 1569913299];
f=-X*APV';
function [G,Ceq]= fun2(X);
VAR=[ 0, 4.65851E+11, 7.92282E+34, 34287.6885, 0, 0, 28761.89961, 0, 2.5E+15];
G=(X.*X)*VAR'- 4.05501E+66;
但是结果出现
> In fmincon at 439
??? Error using ==> fun2
Too many output arguments.
Error in ==> fmincon at 599
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Caused by:
Failure in initial user-supplied nonlinear constraint function evaluation.
FMINCON cannot continue. 展开
APV=[2293.479957, 1137554.769, 844424930131968000, 422.7825184, 5000000, 2024891624, 398.9413317, 6000000, 1569913299];
ACV=[ 32.85239792, 34.21254091, 31.87163402, 127.5827952, 180, 140.7870303, 306.4603828, 290, 306.4603828];
VAR=[ 0, 4.65851E+11, 7.92282E+34, 34287.6885, 0, 0, 28761.89961, 0, 2.5E+15];
X0=[0.016875548 0.018982253 0.016237572 0.0907956 0.121981489 0.100365053 0.215239131 0.20435803 0.215166324];
A=-ACV;b=-150;
Aeq=[1,1,1,1,1,1,1,1,1];beq=1;
VLB=0;VUB=1;
[X,fval]= fmincon ('fun1',X0,A,b,Aeq,beq,VLB,VUB, 'fun2');
然后两个M函数为
function f=fun1(X);
APV=[2293.479957, 1137554.769, 844424930131968000, 422.7825184, 5000000, 2024891624, 398.9413317, 6000000, 1569913299];
f=-X*APV';
function [G,Ceq]= fun2(X);
VAR=[ 0, 4.65851E+11, 7.92282E+34, 34287.6885, 0, 0, 28761.89961, 0, 2.5E+15];
G=(X.*X)*VAR'- 4.05501E+66;
但是结果出现
> In fmincon at 439
??? Error using ==> fun2
Too many output arguments.
Error in ==> fmincon at 599
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Caused by:
Failure in initial user-supplied nonlinear constraint function evaluation.
FMINCON cannot continue. 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询