我有一组这样的数据:
x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140]
y=[81.3125000000000 81.3500000000000 81.1750000000000 81.3500000000000 81.4750000000000 81.2500000000000 81.1625000000000 81.0500000000000 81.0250000000000 81.0750000000000 81.0625000000000 80.8625000000000 80.9250000000000 81.0125000000000 81.1750000000000 81 80.8125000000000 80.8125000000000 80.6000000000000 80.0750000000000 80.0875000000000 80.2625000000000 80.6500000000000 80.8250000000000 81.0500000000000 81.0250000000000 81.0875000000000 81.1875000000000 80.9750000000000 80.8750000000000 80.8000000000000 80.8250000000000 81.4750000000000 81.2125000000000 81.4750000000000 81.3875000000000 81.9500000000000 81.5500000000000 81.4375000000000 81.3375000000000 81.5375000000000 81.4625000000000 81.0375000000000 80.7125000000000 80.5500000000000 80.2500000000000 80.4375000000000 80.1750000000000 80.1875000000000 80.1625000000000 80.7750000000000 80.8250000000000 81.1500000000000 81.1000000000000 80.7125000000000 80.8125000000000 80.4250000000000 80.2375000000000 79.7750000000000 79.3250000000000 78.9625000000001 77.6625000000000 75.9625000000000 72.8500000000000 67.5750000000000 60.2125000000000 56.4500000000000 71.5125000000000 114.325000000000 145.762500000000 155.912500000000 160.625000000000 162.275000000000 162.175000000000 162.300000000000 162.875000000000 162.850000000000 163.025000000000 163.200000000000 163.212500000000 163.550000000000 163.712500000000 163.650000000000 163.512500000000 163.025000000000 163.112500000000 162.750000000000 161.850000000000 161 160.312500000000 159.337500000000 157.375000000000 150.400000000000 141.150000000000 113.200000000000 66.6500000000000 52.7375000000000 58.5750000000000 68.8375000000000 75.6750000000000 78.2375000000000 79.2500000000000 79.6625000000000 80.2750000000000 80.3750000000000 80.7000000000000 80.9625000000000 80.8500000000000 81.3500000000000 81.6000000000000 81.5750000000000 81.7375000000000 81.6875000000000 81.7000000000000 81.8625000000000 81.8000000000000 81.9375000000000 81.7125000000000 81.8875000000000 82.1000000000000 81.7750000000000 81.6750000000000 81.8000000000000 81.6875000000000 81.9750000000000 81.9375000000000 81.9125000000000 81.9875000000000 81.7500000000000 81.9000000000000 81.9375000000000 81.9625000000000 81.6375000000000 81.6500000000000 81.5125000000000 81.5875000000000 81.3875000000000 81.3750000000000 81.5375000000000 81.4375000000000]
plot(x,y) 得到的图形(x vs y), 若直接进行拟合
p=polyfit(x,y,139);
xx=linspace(1,140,1000);
yy=polyval(p,xx);
plot(xx,yy)
得出图形(xx vs yy),严重变形
因此我觉得是采集点的个数不够,进行了先插值后拟合的办法
xx=1:0.1:140;
yy=interp1(x,y,xx,'spline');
p=polyfit(xx,yy,1390)
可是做到这一步之后就显示P 的值为NaN
求助各位大侠 。。。。
x vs y.JPG
(57.64 KB, 下载次数: 0)
2009-11-2 13:56 上传
xx vs yy.JPG
(61.13 KB, 下载次数: 0)
2009-11-2 13:56 上传