matlab - 使用 fmincon 在 Matlab 中操作矩阵
问题描述
我目前正在尝试在 Matlab 中使用 fmincon。
我可以让它正确运行,但是当我包含不满足条件的矩阵元素的操作时,这就会失败。
如下
ub = 1.1;
lb = -1.2;
aut = -0.25;
h = @(aut)eQ_Optim(aut);
u = fmincon(h,aut, [], [], [], [], lb, ub)
我正在使用的功能如下
function [Maxim] = eQ_Optim(aut);
Data = [-0.23183483,-0.003274012;
-0.289945477,0.000282334;
-0.483591973,0.006588649;
-0.257735378,0.000887691;
-0.286463622,-0.003235662;
-0.453939127,0.004358216;
-0.196363243,0.004186609;
-0.209783591,0.001715187];
Data(Data(:,1)<aut,2)=0
MDOnx=Data(:,2)+1;
MD_Cumx=cumprod(MDOnx,1);
Maxim = MD_Cumx(end)*-1
end
我正在尝试让 fmincon 优化变量“aut”,以使其最大化右侧列(Data(:,2))的累积总和。
作为参考,我收到的输出是
初始点是满足约束的局部最小值。
优化完成是因为在初始点,目标函数在可行方向上不递减到最优容差的默认值内,并且约束满足在约束容差的默认值内。
u = -0.250000000000000
如您所见,这只是我最初的猜测被反馈给我。
我希望一切都清楚。我已经尽可能地简化了一切。这可能吗?
解决方案
解决方案是使用具有适用间隔的 fminbid
推荐阅读
- c# - RestSharp 请求的错误消息
- java - 如何删除/不显示空值?
- c# - Form.Controls.OfType 的奇怪行为
- for-loop - Liquid - if contains 语句在 for 循环中不起作用
- php - 如果未选中,则将复选框值设为零
- php - PHP - 如何在 WP 上随机显示一个类别的帖子
- azure - 如何限制每个节点附加托管磁盘的 pod 数量
- angular - 在 index.html 中使用 Angular 6 中的字体真棒图标
- c# - 如何在播放视频时停止 C# VLC 播放器打开 Direct3D 输出窗口?
- html - 使用 td 类隐藏表格中的一行