首页 > 解决方案 > 如何找到导致特定函数输出的参数的最小值

问题描述

我试图以最有效的方式计算 Matlab 中贝叶斯因子的鲁棒性区域。在非贝叶斯特定术语中,我有一个函数,它接受输入 A,并返回输出 B。我需要找到:(1)B 等于或大于 3 的最小 A,以及(2)最大 A其中 B 等于或大于 3。

现在,我有一个 for 循环,循环遍历 A 的一系列值,然后我找到满足上述条件的最小和最大 As。它有效,但它绝对不是最有效的方法,而且我到目前为止还没有在网上找到任何信息。

非常感谢!!

标签: matlaboptimization

解决方案


您可以从 min 开始并找到。例如,

Bidx = find( B >= 3 );
[minval, mindix] = min( A(Bidx) )

这假设 A 和 B 的大小相同。


推荐阅读