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
提交
取消