Advertisement
Guest User

Untitled

a guest
Jun 9th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.69 KB | None | 0 0
  1. x=[0,1,2,3,4,5,6,7,8,9,10];
  2.  Fy=[15,10,20,15,25,20,30,20,35,30,40];
  3.  if length(x)==length(Fy)
  4.  n=length(x);
  5.  stopien=4;
  6.  if stopien<n-1
  7.  A=polyfit(x,Fy,stopien);
  8.  Wy=zeros(1,n);
  9.  for i=1:n
  10.  for j=1:stopien+1
  11.  Wy(1,i)=Wy(1,i) + A(1,j)*x(1,i)^(stopien+1-j);
  12.  end
  13.  end
  14.  plot(x,Fy,'rx');
  15.  grid on;
  16.  hold on;
  17.  plot(x, Wy);
  18.  disp("Sprawdzenie");
  19.  disp("Blad wzgledny");
  20.  bw=sum(abs(Fy-Wy))
  21.  disp("Blad kwadratowy");
  22.  bk=sum((Fy-Wy).^2)
  23.  disp("Sredni blad procentowy");
  24.  sbp=1/n*sum(abs((Fy-Wy)./Fy))*100
  25.  disp("Srednie odchylenie od krzywej");
  26.  sook=sqrt(sum((Fy-Wy).^2)/(n-stopien-1))
  27.  opis=sprintf("B.w.=%f, B.k.=%f, S.b.p.=%f, sr.od.od.k.=%f",bw, bk, sbp, sook);
  28.  title(opis);
  29.  disp("----------------------------------------------------------------------");
  30.  else
  31.  disp("Za duzy stopien wielomianu aproksymujacego");
  32.  end
  33.  end
  34.  clear;
  35.  
  36.  x=[0,1,2,3,4,5,6,7,8,9,10];
  37.  Fy=[15,10,20,15,25,20,30,20,35,30,40];
  38.  if length(x)==length(Fy)
  39.  n=length(x);
  40.  stopien=8;
  41.  if stopien<n-1
  42.  A=polyfit(x,Fy,stopien);
  43.  Wy=zeros(1,n);
  44.  for i=1:n
  45.  for j=1:stopien+1
  46.  Wy(1,i)=Wy(1,i) + A(1,j)*x(1,i)^(stopien+1-j);
  47.  end
  48.  end
  49.  plot(x,Fy,'rx');
  50.  grid on;
  51.  hold on;
  52.  plot(x, Wy);
  53.  
  54.  disp("Sprawdzenie");
  55.  disp("Blad wzgledny");
  56.  bw=sum(abs(Fy-Wy))
  57.  disp("Blad kwadratowy");
  58.  bk=sum((Fy-Wy).^2)
  59.  disp("Sredni blad procentowy");
  60.  sbp=1/n*sum(abs((Fy-Wy)./Fy))*100
  61.  disp("Srednie odchylenie od krzywej");
  62.  sook=sqrt(sum((Fy-Wy).^2)/(n-stopien-1))
  63.  opis=sprintf("B.w.=%f, B.k.=%f, S.b.p.=%f, sr.od.od.k.=%f",bw, bk, sbp, sook);
  64.  title(opis);
  65.  disp("----------------------------------------------------------------------");
  66.  else
  67.  disp("Za duzy stopien wielomianu aproksymujacego");
  68.  end
  69.  end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement