function [ f ] = Untitled12( x)n=100;T=10;R=54;D=22; x0=(1); A=[];b=[];Aeq=[];beq=[]; VLB=(1);VUB=[];f=n*(1/x)*(1-1/x)^(n-1);function [C,Ceq]=nonlcon(x)C=T/(1-(1/(R-x)))^(n-1)-D;Ceq=[];[x,fval]=fmincon(Untitled12,x0,A,b,Aeq,beq,VLB,VUB,nonlcon);end
1 回答
holdtom
TA贡献1805条经验 获得超10个赞
用matlab fmincon函数求解,提示输入参数数目不足。其原因缺@符号,其他的原因就是代码书写格式不对。
正确的代码书写格式,如下所示。
x0=1;
A=[];b=[];Aeq=[];beq=[];VLB=[];VUB=[]
[x,fval,exitflag]=fmincon(@(x)Untitled12(x),x0,A,b,Aeq,beq,VLB,VUB,@(x)nonlcon(x))
function [ f ] = Untitled12( x)
n=100;T=10;R=54;D=22;;
f=n*(1/x)*(1-1/x)^(n-1);
end
function [C,Ceq]=nonlcon(x)
n=100;T=10;R=54;D=22;
C=T/(1-(1/(R-x)))^(n-1)-D;
Ceq=[];
end
运行结果
添加回答
举报
0/150
提交
取消