如何根据n执行x的多个优化值,使用fmincon

4个视图(过去30天)
马欣·法扎尔
马欣·法扎尔 2019年5月17日
评论: 马欣·法扎尔2019年5月17日
您好,请帮助我找到x的n个最优值(x是一个向量,而不是单值向量)。
e、 我有主代码
功能Rsum简单(x)
全球的N
R = 20 * 1000;
Rn=x*R;
Rsum=总和(Rn);
结束
通过使用fmincon,我优化了x
清晰的全部的
clc
全球的N
n_vec=2:2:6;
吞吐量=[];
对于n=n_vec
初始猜测=0.00002;
x0=初始猜测;
磅= 0;
ub=0.7;
A=[];
b=[];
Aeq=[];
Beq=[];
[x, fval] = fmincon (@ (x)简单的(x), x0, A, b,[],[],磅,乌兰巴托);
最大值=-(fval);
吞吐量=[最大吞吐量];
结束
在执行第一次尝试后,我想得到2个x的优化值,第二次我需要4个优化值,第三次x=6,但我不知道如何执行。有谁能帮我找到x的多个值(关于n)。??
先谢谢你

公认的答案

提图斯·爱德霍夫
提图斯·爱德霍夫 2019年5月17日
编辑:提图斯·爱德霍夫 2019年5月17日
你好
有几件事我不明白:你说“x是向量”?但是你总是从x0=初始猜测开始,这是一个标量。也许这是您需要做的第一个更改:
x0=repmat(初始值,n,1);
使x0成为向量。
第二,你的目标函数很奇怪。没有使用变量S?x=[0…0]是你编写的函数的解决方案。
提图斯

更多答案(2)

马欣·法扎尔
马欣·法扎尔 2019年5月17日
编辑:马欣·法扎尔 2019年5月17日
请告诉我,如果我必须为x找到n个最佳值,那么我如何才能找到?

马欣·法扎尔
马欣·法扎尔 2019年5月17日
我也可以相应地更改上限和下限吗?
2评论
马欣·法扎尔
马欣·法扎尔 2019年5月17日
对于i=1:n
[x(i),fval(i)]=fmincon(@(x)简单(x),x0(i,:),A,b,[],[],[],lb(i,:),ub(i,:),@constraint);
结束
这是一种正确的执行方式吗?

登录以发表评论。

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!