Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 0.80 KB | None | 0 0
  1. x=[0,1,2,3,4,5,6,7,8,9,10];
  2. Fy=[10,5,15,10,20,15,25,20,30,25,35];
  3.  
  4. if length(x)==length(Fy)
  5.  n=length(x);
  6.  stopien=4;
  7. if stopien<n-1
  8.  A=polyfit(x,Fy,stopien);
  9.  Wy=zeros(1,n);
  10.  
  11.  for i=1:n
  12.    for j=1:stopien+1
  13.     Wy(1,i)=Wy(1,i) + A(1,j)*x(1,i)^(stopien+1-j);
  14.    end
  15.  end
  16.  plot(x,Fy,'rx');
  17.  grid on;
  18.  hold on;
  19.  plot(x, Wy);
  20.  
  21.  disp("Sprawdzenie");
  22.  disp("Blad wzgledny");
  23.  bw=sum(abs(Fy-Wy))
  24.  
  25.  disp("Blad kwadratowy");
  26.  bk=sum((Fy-Wy).^2)
  27.  
  28.  disp("Sredni blad procentowy");
  29.  sbp=1/n*sum(abs((Fy-Wy)./Fy))*100
  30.  
  31.  disp("Srednie odchylenie od krzywej");
  32.  sook=sqrt(sum((Fy-Wy).^2)/(n-stopien-1))
  33.  
  34.  opis=sprintf("Bw=%f, Bk=%f, Sbp=%f, Sook=%f",bw, bk, sbp, sook);
  35.  title(opis);
  36.  
  37.  disp("********************");
  38.  
  39.  else
  40.  disp("Za duzy stopien wielomianu aproksymujacego");
  41.  end
  42. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement