hy85220
2008-06-19, 23:33
遇到个问题,请各位大侠赐教。
需要拟合32个数据点,用了polyfit,但是无论选择阶次为多少得到的拟合曲线都不好,最后两个数据点间曲线暴走。不知道为什么?想改用其它方法拟合,比如用折线连接数据点,用什么方法呢?有没有什么方便的函数?最后需要由任意给定的I通过曲线求得对应的L值。
数据如下:
I=[1.1955 1.5042 1.8062 2.1067 2.4072 2.7075 3.0073 3.3070
3.6070 3.9080 4.2097 4.5118 4.8136 5.1151 5.4167 5.7193
6.0237 6.3306 6.6413 6.9578 7.2815 7.6104 7.9388 8.2633
8.5922 8.9447 9.3339 9.7604 10.5013 11.4869 12.8993 15.6161];
L=[1.3383 1.3296 1.3288 1.3291 1.3293 1.3296 1.3301 1.3305
1.3307 1.3306 1.3303 1.3298 1.3296 1.3294 1.3292 1.3288
1.3281 1.3269 1.3250 1.3223 1.3184 1.3140 1.3100 1.3070
1.3035 1.2969 1.2856 1.2704 1.2341 1.1840 1.1163 0.9734]
需要拟合32个数据点,用了polyfit,但是无论选择阶次为多少得到的拟合曲线都不好,最后两个数据点间曲线暴走。不知道为什么?想改用其它方法拟合,比如用折线连接数据点,用什么方法呢?有没有什么方便的函数?最后需要由任意给定的I通过曲线求得对应的L值。
数据如下:
I=[1.1955 1.5042 1.8062 2.1067 2.4072 2.7075 3.0073 3.3070
3.6070 3.9080 4.2097 4.5118 4.8136 5.1151 5.4167 5.7193
6.0237 6.3306 6.6413 6.9578 7.2815 7.6104 7.9388 8.2633
8.5922 8.9447 9.3339 9.7604 10.5013 11.4869 12.8993 15.6161];
L=[1.3383 1.3296 1.3288 1.3291 1.3293 1.3296 1.3301 1.3305
1.3307 1.3306 1.3303 1.3298 1.3296 1.3294 1.3292 1.3288
1.3281 1.3269 1.3250 1.3223 1.3184 1.3140 1.3100 1.3070
1.3035 1.2969 1.2856 1.2704 1.2341 1.1840 1.1163 0.9734]