1. 程式人生 > >數據擬合

數據擬合

for val clas close atl tor 取余 size pre

 fitting.m
clc
clear
close all
A=xlsread(‘data.xls‘);

%%
[m,n]=size(A);%數據總數
N=1;  %N為擬合階數
number=120;

a=rem(m,number);%取余
class=(m-a)/number;


% t=1:1:m;
% data_r=A(1:m,1);
% data_m=A(1:m,2);


K=zeros(class,N);%store y=kx+b;
   figure
for j=0:1:class-1
    x=A(j*number+1:number*(j+1),3)‘;
    y=A(j*number+1:number*(j+1),4)‘;

    p = polyfit(x,y,N); 
    K(j+1,1:N+1)=p;
   %計算在 x 中的點處擬合的多項式 p。用這些數據繪制得到的線性回歸模型。
  f = polyval(p,x); 
  
 
 	plot(x,y,‘o‘,x,f,‘-‘) 
    legend(‘data‘,‘linear fit‘) 
    hold on
    
 end
    
    
    

 ff.m

clc
clear
close all
A=xlsread(‘data.xls‘);
[m,n]=size(A);%數據總數
% m=580;
t=1:1:m;
data_r=A(1:m,3);
data_m=A(1:m,4);

x=data_r‘;
y=data_m‘;
figure 
plot(t,x,‘k.‘,t,y,‘o‘) 


figure
%計算在 x 中的點處擬合的多項式 p。用這些數據繪制得到的線性回歸模型。
p = polyfit(x,y,1); 
f = polyval(p,x); 
plot(x,y,‘o‘,x,f,‘-‘) 
legend(‘data‘,‘linear fit‘) 

  

 

  

數據擬合