微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python mac/windows 计算问题

如何解决python mac/windows 计算问题

我在 mac 和 pc 上运行以下 python 函数并得到不同的结果。它如何将我的数据拟合成正弦波。蟒蛇 3.8.5,scipy 1.6.2。函数和数据集不是副本,它们来自共享文件夹。

def fit_bt(data_c):

N = 15000  # len(data)  # number of data points
t = np.linspace(0,4*np.pi,N)
u_d = [-1] * len(data_c)
slope = [0] * len(data_c)
curve = [0] * len(data_c)

guess_mean = np.mean(data_c[0:N])
guess_phase = 0
guess_freq = 0.9
guess_amp = 1

for i in range(N,len(data_c),5):
    if i % 1000 == 0:
        print(i)
    data_t = data_c[i-N:i]
    

    optimize_func = lambda x: x[0]*np.sin(x[1]*t+x[2]) + x[3] - data_t
    est_amp,est_freq,est_phase,est_mean = leastsq(optimize_func,[guess_amp,guess_freq,guess_phase,guess_mean])[0]

    data_fit = est_amp * np.sin(est_freq * t + est_phase) + est_mean
    if (len(data_c)-i) > 5: 
        u_d[i:i+5] = [(data_fit[-1] > data_fit[-2]) for val in range(5)]
        slope[i:i+5] = [((data_fit[-1] - data_fit[-10]) * 10000) for val in range(5)]
        curve[i:i+5] = [data_fit[-1] for val in range(5)]

    guess_mean = est_mean
    guess_phase = est_phase
    guess_freq = est_freq
    guess_amp = est_amp

return u_d,slope,curve

当我绘制斜率结果时:

结果mac:

enter image description here

结果电脑:

enter image description here

为什么我在不同的操作系统上得到不同的结果?在每个操作系统上,每次运行后结果都是恒定的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。