matlab非线性规划fmincon函数中目标函数参数传递问题,fmincon函数的标准形式维[x,fval]=fmincon('fun',Bt0,[],[],[],[],lb,ub,@constr),然后fun是目标函数,Bt0为初值点,优化函数相当于讲Bt0带入fun,逐渐逼近求局

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 16:03:56

matlab非线性规划fmincon函数中目标函数参数传递问题,fmincon函数的标准形式维[x,fval]=fmincon('fun',Bt0,[],[],[],[],lb,ub,@constr),然后fun是目标函数,Bt0为初值点,优化函数相当于讲Bt0带入fun,逐渐逼近求局
matlab非线性规划fmincon函数中目标函数参数传递问题,
fmincon函数的标准形式维[x,fval]=fmincon('fun',Bt0,[],[],[],[],lb,ub,@constr),然后fun是目标函数,Bt0为初值点,优化函数相当于讲Bt0带入fun,逐渐逼近求局部最优解.现在小弟遇到的情况是这样的,需要将fun中(fun是一个比较复杂的式子,需要用到循环,不能直接写出来,只能是写成M文件形式)的一个原来固定的参数设成是变量,并以这个变量为横坐标,以变量所对应的局部最优解为纵坐标画图,求问,怎样将变量(写在外层循环)实现传递?跪谢!

matlab非线性规划fmincon函数中目标函数参数传递问题,fmincon函数的标准形式维[x,fval]=fmincon('fun',Bt0,[],[],[],[],lb,ub,@constr),然后fun是目标函数,Bt0为初值点,优化函数相当于讲Bt0带入fun,逐渐逼近求局
使用匿名函数句柄就可以了
fmincon 需要的函数fun只有一个输入参数 fun(x)
而你的函数需要多一个能改变的变量 那么形式变成 myfun(p,x)
p就是你要传递的参数,x还是原来的输入
当然首先,你得写个m文件,假设为myfun.m,其内容大致如下
function [out]=myfun,(p,x)
.
end
就是根据参数p和输入x,求的输出,当然名字可以自己取,然后就是主程序了
for p=p0:pn %参数p的取值
[x,fval]=fmincon(@(x) myfun(p,x),Bt0,[],[],[],[],lb,ub,@constr);
.
end
其中关键就是@(x) myfun(p,x)
这会返回一个匿名的函数句柄,会使用当时的p值代入myfun
得到一个只有一个输入x的函数,这样就能把额外的参数传递给需要优化的函数
如果你的函数有等多的参数例如
myfun(a,b,c,x)
a=..
b=..
c=..
同样用@(x) myfun(a,b,c,x)把a,b,c参数的值传给要优化的函数
在以上的基础上,加几句,存储每次的参数p和对应的优化结果
然后画图就可以了

matlab非线性规划fmincon函数中目标函数参数传递问题,fmincon函数的标准形式维[x,fval]=fmincon('fun',Bt0,[],[],[],[],lb,ub,@constr),然后fun是目标函数,Bt0为初值点,优化函数相当于讲Bt0带入fun,逐渐逼近求局 有关matlab中 fmincon问题在利用matlab中fmincon求解非线性规划问题时(x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options))目标函数fun十分复杂,在求解x的同时,fun中需要另外一些临时输入的常数,此时fun函 matlab 非线性规划问题 matlab 函数 fmincon求解非线性规划,求这个函数的最小值 function f = myfun(x)f = (pi*(x(3)+2)*x(2)*x(1)^2)/4;运行后返回(约束在最后面有写)Warning:Trust-region-reflective method does not currently solve this type of prob 如何利用MATLAB解非线性规划 用matlab解决非线性线性规划问题直接上图哪个大神知道,帮忙用fmincon函数把上面模型程序写出来, 求助Matlab非线性规划问题options = optimset;[x,y]=fmincon('fun1',rand(2,1),[],[],[],[],zeros(2,1),[],...'fun2',options)为什么要定义rand(2,1)和zeros(2,1) 求matlab中fmincon函数格式的中文解释? MATLAB中fmincon函数用的什么算法 matlab fmincon函数中的迭代初值怎么确定 关于MATLAB的fmincon函数现在有一个用fmincon的优化问题函数挺复杂的.是一个时间序列里面的问题.然后上下界和非线性条件都用到了程序本身是正确的但是关键是现在针对不同的数据对于迭代初 matlab 非线性规划问题,我的变量有40个,Warning:Large-scale (trust region) method does not currently solve this type of problem,switching to medium-scale (line search).> In fmincon at 274In youh1 at 3Function 'lt' is not defined for values matlab 非线性规划问题,我的变量有40个,很急编程后,出现的错误是:Warning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search).> In fmincon at 274 In youh1 at matlab中fmincon函数中不含等号的边界值怎么设置?matlab中fmincon函数的不含等号的边界值怎么设置?fmincon中默认的边界条件是lb MATLAB基础问题麻烦高手帮个忙,请问解有约束非线性规划问题,用MATLAB中的哪个函数?再麻烦各位把函数的调用格式也写清楚吧, matlab fmincon函数用法高手帮我看下这段有什么问题,为什么运行不出来目标函数和非线性约束不能放在一个M文件里面么?function f = myfun(x)f = 0.192457*1e-4*(x(2)+2)*x(1)^2*x(3);function [c,ceq] = mycon(x)c(1)=350 求解约束非线性规划中使用MATLAB时为什么要设定初始值X0? 如何用matlab求解非线性规划问题 最好给几个例子