本实施例中执行用于跟踪飞机的路径的雷达站的蒙特卡洛模拟。雷达站使用雷达方程来估计飞机的位置。我们引入测量误差是随机变量,雷达站进行卡尔曼滤波,以试图纠正他们。为了估计的卡尔曼滤波器的有效性,我们执行重复的模拟,具有沿一个随机选择的路径中的飞机旅行各一次。
有关计算的详细信息,打开pctdemo_model_radar模型。
先决条件:
相关的例子:
我们通过获取例子难度开始。如果你想使用一个不同的例子难度级别,使用paralleldemoconfig
然后再次运行这个例子。看到自定义设置在并行计算工具箱的例子™完整的细节。
困难= pctdemo_helper_getDefaults();
我们定义的模拟次数和每次模拟的长度pctdemo_setup_radar
。该示例的难易度控制我们执行模拟的数量。功能pctdemo_setup_radar
还示出了不同的路径的例子,飞机可以采取,以及在所估计的飞行器定位的误差。您可以查看pctdemo_setup_radar代码完整的细节。
图,numSims,finishTime] = pctdemo_setup_radar(难度);startClock =时钟;
我们让pctdemo_task_radar
函数执行numSims
模拟,它将返回的大小(finishTime + 1)-by-numSims的矩阵。您可以查看pctdemo_task_radar代码完整的细节。
残留= pctdemo_task_radar(numSims,finishTime);
用于顺序计算的时间应该根据需要使用并行计算工具箱来执行相同的组计算在时间进行比较分布式雷达跟踪模拟例。经过时间与底层硬件变化。
elapsedTime = ETIME(时钟,startClock);fprintf中(“经过时间为%2.1f秒\ N”,elapsedTime);
经过时间是68.7秒
我们使用模拟结果来计算范围估计误差的标准偏差为时间的函数。您可以查看pctdemo_plot_radar代码完整的细节。
pctdemo_plot_radar(无花果,残余);