为什么会提示输入参数数目不足?什么原因?

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

元芳怎么了
浏览 733回答 1
1回答

holdtom

用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);endfunction [C,Ceq]=nonlcon(x)n=100;T=10;R=54;D=22;C=T/(1-(1/(R-x)))^(n-1)-D;Ceq=[];end运行结果 
打开App,查看更多内容
随时随地看视频慕课网APP