Python和科学计算认证群组  - 讨论区

标题:多项式拟合问题

2012年12月12日 星期三 18:36

如何利用 np.polyfit(x,y)对数组 x 和y 中的部分对应的数据进行拟合:

比如: x=y=range(100),如果只对 x=y= [0到10加上20到50再加上80到100]拟合?

即把其中部分相同段的数据 mask 掉。

 

2012年12月13日 星期四 13:20

你只需要计算出一个mask数组,然后np.polyfit(x[mask], y[mask])就可以了。

2012年12月19日 星期三 21:40

x=y=range(100)

mask[20:40] = True

mask[60:80] = True

mask[90:95] = True # more masked data ....

mask_x = ma.array (x, mask = mask)

mask_y = ma.array (y, mask = mask)

请问如何把第2-4行语句整合到一起更简化些? 

2012年12月20日 星期四 19:16

用循环,不过也不是太简洁

for i,j in [(20,40),(60,80),(90,95)]:
    mask[i:j] = True

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号