Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 0.96 KB | None | 0 0
  1. x=[0,1,2,3,4,5,6];
  2. Fy=[-1,2,4,3.5,2,7,9];
  3. if length(x)==length(Fy)
  4.  n=length(x);
  5.  stopien=3;
  6. if stopien<n-1
  7.  %A -macierz (wektor) wspolczynników wielomianu
  8.  A=polyfit(x,Fy,stopien);
  9.  Wy=zeros(1,n);
  10.  %obliczanie wartosci funkcji W na podstawie ustalonych wspolczynnikow wielomianu
  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.  #*******************
  22.  % obliczenia poszczegolnych miar dopasowania funkcji aproksymujacych
  23.  #*******************
  24.  
  25.  disp("Sprawdzenie");
  26.  disp("Blad wzgledny");
  27.  bw=sum(abs(Fy-Wy))
  28.  disp("Blad kwadratowy");
  29.  bk=sum((Fy-Wy).^2)
  30.  disp("Sredni blad procentowy");
  31.  sbp=1/n*sum(abs((Fy-Wy)./Fy))*100
  32.  disp("Srednie odchylenie od krzywej");
  33.  sook=sqrt(sum((Fy-Wy).^2)/(n-stopien-1))
  34.  opis=sprintf("Bw=%f, Bk=%f, Sbp=%f, Sook=%f",bw, bk, sbp, sook);
  35.  title(opis);
  36.  else
  37.  disp("Za duzy stopien wielomianu aproksymujacego");
  38. end
  39. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement