我想在MATLAB中使用patternsearch
函数优化多变量函数。该函数需要一个下边界和上边界,并在连续域的边界内查看。
然而,我在excel文件中有一组离散的值,并且希望算法在此离散域内而不是在连续域中进行搜索。
patternsearch
这可能吗?
答案 0 :(得分:0)
也许我没有正确理解你的问题,但如果你有一组(离散的和有限的)值,为什么不在这些点计算函数的值并返回minium?
答案 1 :(得分:0)
简而言之,没有。这不是patternsearch
的目的。离散和连续搜索空间的优化技术非常不同。
如果您正在寻找一个大致的答案,可以使用spline
,polyfit
等来获得数据的近似连续函数,然后应用{{1}在它上面。
如果您提供有关问题的更多详细信息,我或其他人可能会建议更合适的方式来处理您的数据。
答案 2 :(得分:0)
最好的优化工具是遗传算法。该优化工具附带Matlab的全局优化工具箱,允许同时优化连续变量和离散变量。
在遗传算法中,整数变量必须如此声明。默认情况下,未声明的变量是连续的。
查看全局优化工具箱指南,了解其工作原理:http://it.mathworks.com/help/pdf_doc/gads/gads_tb.pdf。