【发布时间】:2010-12-15 20:29:15
【问题描述】:
我有一个函数可以根据鱼的波前入射角计算鱼的声学强度。我也有一些声学强度的现场测量。我要做的是找出哪个角度的正态分布导致模型数据与原位数据最匹配。
为此,我正在尝试使用 Matlab 函数 fmincon 来最小化以下函数:
function f = myfun(x)
TS_krm = KRM(normrnd(x(1),x(2),100,1), L);
f = sum((TS_insitu - TS_krm).^2);
所以这个函数的作用是计算我想要最小化的残差平方和。为此,我尝试使用 fmincon:
x = fmincon(@myfun, [65;8], [], [], [], [], [0;0], [90;20], [], options);
因此,我使用平均 65 度和标准偏差 8 的起始方向。我还将平均角度范围设置为 0 到 90 度,标准偏差范围设置为 0到 20 度。
然而,它似乎没有正确找到最小化函数的平均和标准偏差角度。通常它会在 N(65,8) 附近输出一些东西,几乎就像它并没有真正尝试远离起点的许多其他值。
关于我可以做些什么来完成这项工作的任何想法?我知道我可以设置 TolX 和 TolFun 设置,但我不确定它们的作用以及它们会产生什么影响。如果有帮助,我处理的典型值通常在 -45 dB 左右。
谢谢!
【问题讨论】:
-
“鱼的声学强度”?也许是鱼的声纳回声的声学强度?虽然前者是一个更好的乐队名称。无论如何,这是一个有趣的问题!
-
是的,我不想太技术化。我正在使用的实际值是目标强度,它本质上是从回波接收的功率强度与输出功率强度的比率。
标签: math matlab constraints physics minimize