我使用扩展卡尔曼滤波器模拟了两轮机器人的定位。 在我的第一个版本中,核心算法位于while循环中,如下例所示:
function ekfSimulation()
for i=1:simulationSteps
% main Algorithm
end
end
在我的第二个版本中,我实现了相同的过程,除了这次循环中的“main algorithm”从另一个函数调用,如下所示:
function ekfSimulation()
for i=1:simulationSteps
% call main algorithm from another function
[output data]=mainAlgorithm(input data)
end
end
%****************************************************
function [output data]= mainAlgorithm(input data)
%main Algorithm
end
我的第二个版本(协方差矩阵,均方根误差)的结果大约比第一个版本低2倍,而所有其他变量都相同。
问题 向函数传递和从函数返回变量是否可能导致这些差异?
感谢。