【发布时间】:2010-09-06 00:40:43
【问题描述】:
我正在尝试使用 MATLAB 和 C# 将书中的函数转换为代码。
我首先尝试让函数在 MATLAB 中正常工作。
以下是说明:
变量是:
xt and m can be ignored.
zMax = Maximum Sensor Range (100)
zkt = Sensor Measurement (49)
zkt* = What sensor measurement should have been (50)
oHit = Std Deviation of my measurement (5)
我在 MATLAB 中编写了第一个公式 N(zkt;zkt*,oHit),如下所示:
hitProbabilty = (1/sqrt( 2*pi * (oHit^2) ))...
* exp(-0.5 * (((zkt- zktStar) ^ 2) / (oHit^2)) );
这给了我期望的高斯曲线。
我对下面的定积分有疑问,我不明白如何将其转换为实数,因为我从代码中得到了可怕的值,即:
func = @(x) hitProbabilty * zkt * x;
normaliser = quad(func, 0, max) ^ -1;
hitProbabilty = normaliser * hitProbabilty;
有人可以帮我解决这个问题吗?它应该使我的曲线正常化,但它变得疯狂......(我正在为 zkt 0:1:100 这样做,其他一切都相同,并绘制它应该输出的概率。)
【问题讨论】: