调用函数时MATLAB精度损失

时间:2014-05-31 00:01:40

标签: matlab precision

我使用扩展卡尔曼滤波器模拟了两轮机器人的定位。 在我的第一个版本中,核心算法位于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倍,而所有其他变量都相同。

问题 向函数传递和从函数返回变量是否可能导致这些差异?

感谢。

0 个答案:

没有答案