1. 程式人生 > >Matlab考察多項式擬合不同階次誤差,並輸出到Excel

Matlab考察多項式擬合不同階次誤差,並輸出到Excel

部落格已轉移至個人網站(http://www.p-chao.com)

方程擬合時,常常使用Matlab的工具箱cftool,這裡我使用的是polyfit函式(cftool中多項式擬合也使用的是這個函式)

現在將Y=f(x)進行多項式擬合,並計算不同階數各點絕對誤差,將其輸出到Excel表格中

Y=-250:10:250;
X=[ 
354.5
352.5
348.5
344.5
340.5
336.5
333.9
329.1
325.1
322.5
318.5
314.5
310.5
306.5
302.5
298.5
295.1
291.1
287.1
282.5
278.8
275.1
270.5
266.5
262.5
258.5
254.5
250.5
246.5
242.5
238.5
232.5
228.5
224.5
220.5
216.5
211.9
207.9
203.9
198.8
194.5
189.9
185.9
180.5
175.9
169.9
166.2
161.9
157.9
151.9
147.3
];

x=X';

for i=1:50
    m(i+1,1)=i;
    p=polyfit(x,Y,i);
    for j=1:50
        m(1,j+1)=x(j);
        m(i+1,j+1)=polyval(p,x(j))-Y(j);
    end
    clear p
end
xlswrite('nihe',m);

開啟 nihe.xls