嵌入式matlab函数中的信号与可变时间步长的整合

时间:2017-08-23 17:07:35

标签: matlab signals simulink robotics

我需要从速度信号中获得一个位置。我需要在SIMULINK和MATLAB中完成它,我需要这样做来控制一个真正的机器人。 我无法使用SIMULINK的标准连续时间积分器,因为我的时间步长在每次迭代时都会发生变化。

因此我想在下面的嵌入式matlab函数中使用一个简单的forward-euler方法。

我不确定这是最好的解决方案,因此我想知道您对此的看法|

function pCurr = fcn(vCurr, dt,p0)
%#codegen

persistent pOld
persistent vOld
if isempty(pOld)
    pOld = p0;
end

if isempty(vOld)
    vOld = vCurr;
end


pOld = pOld + trapz([vOld vCurr])*dt;
vOld = vCurr;
pCurr = pOld;
end

提前致谢

0 个答案:

没有答案