为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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
运行结果

//img1.sycdn.imooc.com//644b473200013c7c09000600.jpg

 


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 670 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信