Narzędzia użytkownika

Narzędzia witryny


aniss2016_17

====== Różnice ====== Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

aniss2016_17 [2018/01/08 17:55]
miller [Lab. 7 (2017)]
aniss2016_17 [2018/01/17 09:21] (aktualna)
miller [Lab. 7 (2017)]
Linia 220: Linia 220:
  
  * Wywołanie funkcji aproksymującej:  * Wywołanie funkcji aproksymującej:
- +   
-  [estimates, model= fitcurveQ0(t,q);+  % Dane pomiarowe: 
 +  q = [2.40  2.56   2.56  2.56  2.72  2.88  3.20  4.04  5.56  6.20  9.30 14.70 ... 
 +      18.20 21.80  27.80 30.20 31.40 30.20 29.00 27.80 25.40 24.20 23.00 21.80 ... 
 +      21.80 20.60  19.40 19.40 18.20 17.00 17.00 15.90 14.70 14.70 13.50 13.50 ... 
 +      12.30 12.30  11.10 11.10 10.50 10.50 10.50  9.90  9.90  9.90  9.30  9.30 ... 
 +       9.30  8.70   8.70  8.70  8.70  8.70  8.10  8.10  8.10  8.10  7.34  6.96 ... 
 +       6.96  6.96   6.96  6.96  6.58  7.34  6.96  6.96  6.96]
 +  = 1:52;  q=q(18:end);
   %   %
-  plot(t, q, '*');  hold on +  [estimates, model] = fitcurveQ0(t,q);  % aproksymacja nieliniowa 
-  [sse, FittedCurve] = model(estimates); +  [sse, FittedCurve] = model(estimates); % wykres znalezionej aproksymacji  
-  plot(xdata, FittedCurve, 'r')+  plot(t, q, '*',t, FittedCurve, 'ro')
   %    % 
-  xlabel('t') +  xlabel('t')ylabel('q')title(['Fitting to function ', func2str(model)]);
-  ylabel('q') +
-  title(['Fitting to function ', func2str(model)]);+
   legend('data', ['fit using ', func2str(model)])   legend('data', ['fit using ', func2str(model)])
-  hold off 
      
  * Aproksymacja funkcją z większą liczbą parametrów  * Aproksymacja funkcją z większą liczbą parametrów
Linia 256: Linia 260:
  3. **Aproksymacja wielomianowa - kryterium wyboru stopnia wielomianu**:  3. **Aproksymacja wielomianowa - kryterium wyboru stopnia wielomianu**:
      
-  clear, close all+  clear, close all, format short, format compact
   t = 0:0.001:1;  y = sin(2*pi*t); % zależność aproksymowana   t = 0:0.001:1;  y = sin(2*pi*t); % zależność aproksymowana
   tz = 0:0.05:1;      tz = 0:0.05:1;   
Linia 266: Linia 270:
   figure(1), plot(t,y,'r',tp,yp,'o',t_test,y_test,'x'), hold on,   figure(1), plot(t,y,'r',tp,yp,'o',t_test,y_test,'x'), hold on,
   %   %
-  err = zeros(1,10); err_t = zeros(1,10); % tablice błędów+  err_trening = zeros(1,10); err_test = zeros(1,10); % tablice błędów
   for n = 1:10   for n = 1:10
     p = polyfit(tp,yp,n);      % p - współczynniki wielomianu     p = polyfit(tp,yp,n);      % p - współczynniki wielomianu
     ypa = polyval(p,tp);       % wartości funkcji aproksymującej     ypa = polyval(p,tp);       % wartości funkcji aproksymującej
-    dy = ypa-yp; err(n) = sqrt((dy*dy')/11),  % błąd w punktach treningowych+    dy = ypa-yp; err_trening(n) = sqrt((dy*dy')/11),  % błąd w punktach treningowych
     %       %  
     y_test_a = polyval(p,t_test); % wartości f.aproks. w punktach testowych     y_test_a = polyval(p,t_test); % wartości f.aproks. w punktach testowych
     dy_test = y_test_a-y_test;      dy_test = y_test_a-y_test; 
-    err_t(n) = sqrt((dy_test*dy_test')/10), % błąd w punktach testowych+    err_test(n) = sqrt((dy_test*dy_test')/10), % błąd w punktach testowych
     %       %  
     plot(t,polyval(p,t)), pause,     plot(t,polyval(p,t)), pause,
Linia 280: Linia 284:
   hold off   hold off
   %   %
-  figure(2), plot(1:10,err,'ro-',1:10,err_t,'bx-');+  figure(2), plot(1:10,err_trening,'ro-',1:10,err_test,'bx-');
   xlabel('stopien wielomianu')   xlabel('stopien wielomianu')
   legend('blad w p. treningowych','blad w p. testowych')   legend('blad w p. treningowych','blad w p. testowych')
  
 +
 +====== Terminy zaliczeń (2017/18) ======
 +
 +  Drugi termin: 31 stycznia 2018.
 +  Trzeci termin: 7 lutego 2018.
 +  (Godziny - do ustalenia)
      
aniss2016_17.1515430559.txt.gz · ostatnio zmienione: 2018/01/08 17:55 przez miller