MATLAB中fmincon函数出现问题,求大神帮助

2024-11-30 18:02:12
推荐回答(1个)
回答1:

1、首先,你的参数写错位了——A后面应该有b吧?缺少一个参数,是造成目前报错的直接原因。

 

2、没有非线性约束,则该位置的参数也写成空矩阵 []。

 

3、传递附加参数的做法,除了你现在使用的参数补位方法外,目前更多的使用匿名函数或嵌套函数的做法。

 

匿名函数:

amr=...;
bmr=...;
fmincon(@(x)EE(x,amr,bmr),....)

嵌套函数:

function main
amr=...;
bmr=...;
fmincon(@EE,....)

    function y=EE(x)
    ....  % 此处可使用amr、bmr等诸函数中定义的变量

    end
end