matlab polyfit 函数拟合时出现两向量大小不同 如何解决 真诚求教 急用

Time (s) Aggregation Size (nm纳米)
0 50.72
21 67.96
42 73.13
63 82.6
84 83.6
105 89.09
126 93.16
147 101.1
168 106.3
189 104.6
210 108.6
231 115.1
252 112
273 122.1
294 132
315 132.9
336 131.9
357 128.7
378 142.8
399 142.6
420 152.7
441 152.6
462 147.8
483 149.5
504 156.2
525 170.1
546 159.4
567 167.3
588 171.5
609 165.1
630 178.6
651 174.5
672 169.8
693 174.4
714 179
735 176.1
756 165.6
777 166
798 181.4
819 190.2
840 185.2
861 188.4
882 187.4
903 197.9
924 193.7
945 210.6
966 212.5
987 196.5
1008 195.3
1029 215.3
1050 208.2
1071 217.5
1092 206.7
1113 232.3
1134 215
1155 212.2
1176 210.4
1197 227.6
1218 221.3
1239 225.8
1260 240.5
1281 224.3
1302 215.7
1323 241.6
1344 220.6
1365 230
1386 254.6
1407 252
1428 242.3
1449 244.9
1470 254.9
1491 250.6
1512 265.2
1533 254.6
1554 253.7
1575 239.2
1596 245.1
1617 237.1
1638 255.4
1659 227
1680 243.4
1701 262.8
1722 263.1
1743 275.7
1764 259
1785 274.6
1806 271.7
1827 256.9
1848 256.1
1869 275.6
1890 260.6
1911 267
1932 259.8
1953 258.1
1974 250.5
1995 279.2
2016 277.8
2037 273.9
2058 285
2079 280.7
2100 307
2121 263.6
2142 285.2
2163 277.3
2184 291.5
2205 278.6
2226 298.7
2247 287.7
2268 279.7
2289 272.8
2310 288.6
2331 277.8
2352 307.6
2373 301.4
2394 317.8
2415 296.1
2436 312
2457 306.6
2478 293.7

第1个回答  2012-04-29

你先将上面数据导入一个txt文档中,起名loa(只是适应我下面的编程)。

data=load('loa.txt');%读取数据

x=data(:,1)';%把第一列赋给x,同时把它变成行向量

y=data(:,2)';%把第二列赋给y,同时把它变成行向量

plot(x,y,'*')%画图

hold on

b=polyfit(x,y,6);%进行六次拟合,你看图会发现,你的拟合图像不是规则的,所以拟合次数可以大点,看你自己的意思,b是多项式前面的值。就如2次拟合中y=ax+b,a,b的值。

yy=polyval(b,x);%得到拟合后y的新值

plot(x,yy)%画拟合图