小编Car*_*dez的帖子

matlab cumtrapz 和 scipy.integrate cumtrapz 的不同结果

我将一些 matlab 代码转换为 python 代码并调试这两个代码,我从函数调用中得到了不同的结果cumtrapz,我还验证了两者的输入数据是相似的。这是代码:

Python代码

from numpy import zeros, ceil, array, mean, ptp, abs, sqrt, power
from scipy.integrate import cumtrapz

def step_length_vector(ics_y, fcs_y, acc_y, l, sf):
    step_length_m1 = zeros(int(ceil(len(ics_y)/2))-1) 

    for i in range(0, len(ics_y)-2, 2):
        av = acc_y[int(ics_y[i]):int(ics_y[i+2])+1]
        t = array(range(1, int((ics_y[i+2]-ics_y[i])+2)))/sf
        hvel = cumtrapz(t, av - mean(av), initial=0)
        h = cumtrapz(t, hvel - mean(hvel), initial=0)
        hend = ptp(h)
        sl = 6.8*(sqrt(abs(2*l*hend - hend**2)))
        step_length_m1[int(ceil(i/2))] = sl

    return step_length_m1
Run Code Online (Sandbox Code Playgroud)

Matlab代码

function [StepLengthM1] = StepLengthVector(ICsY,FCsY,ACCY,l,sf)

        StepLengthM1 = zeros(1,ceil(length(ICsY)/2)-1); …
Run Code Online (Sandbox Code Playgroud)

python matlab numpy scipy

2
推荐指数
1
解决办法
1569
查看次数

标签 统计

matlab ×1

numpy ×1

python ×1

scipy ×1