考虑2套
A = randi(1000,100,7);
B = randi(700,300,7);
我想找到一个函数:B# = optimf(A,B)
并给我B# = {100x7}
,它是来自B
的行的集合,这样某些属性(例如,均值)是最小的。
例如:B# = optimf(A,B)
,mean(B#) - mean(A)
最小。
有什么想法吗?
答案 0 :(得分:0)
据我所知,优化是找到一个最合适的函数值。例如,如果您有一个等式,并且您需要找到等式满足条件的最小值,那么这是一个优化问题。
您的功能没有这样的优化功能AFAIK。但是,您可以获得Least Square Errors
等优化算法的帮助或者只是使用一些MATLAB过滤器。
我希望它有所帮助。
<强>更新强>
(不是一个复杂的解决方案,但在某些情况下才有效。)
第1步 -
进行for循环并从输入向量中随机选择一些值。所以你得到一个随机子集。
第2步
定义成本函数。可以测量子集有多好的函数。该函数将输入作为向量,并为输出提供数值,例如质量百分比。
第3步
继续读取这些读数。取输出函数的最大值及其对应的向量。这应该是一个解决方案。
OR
使用像ACO
这样的算法