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 [2017/12/01 16:16]
miller [Lab. 4 (2017)]
aniss2016_17 [2018/01/17 09:21] (aktualna)
miller [Lab. 7 (2017)]
Linia 46: Linia 46:
 ====== Lab. 5 (2017) ====== ====== Lab. 5 (2017) ======
  
-Plan: +Badanie błędu numerycznych metod rozwiązywania zagadnienia początkowego 
- +  - Budowa diagramu dla równania ''d2x/dt2 + 0.5 dx/dt +3 = 0'' z warunkiem początkowym ''x(0)=1, dx/dt(0)=0''. 
-  - Badanie błędu numerycznych metod rozwiązywania zagadnienia początkowego +  - Symulacja metodą Eulera z krokiem ''h=0.2''  
-     - Budowa diagramu dla równania ''d2x/dt2 + 0.5 dx/dt +3 = 0'' z warunkiem początkowym ''x(0)=1, dx/dt(0)=0''. +  - Krok symulacji (opcja ''Fixed step size'' w menu okienka modelu: Simulation / Model Configuration Parameters ) ustalamy wpisując do okienka opcji nazwę zmiennej (np. ''h'') utworzoną w przestrzeni roboczej MATLABa (widoczną w SIMULINKu).  
-     - Symulacja metodą Eulera z krokiem ''h=0.2''  +  - Analiza stabilności absolutnej. 
-     - Krok symulacji (opcja ''Fixed step size'' w menu okienka modelu: Simulation / Model Configuration Parameters ) ustalamy wpisując do okienka opcji nazwę zmiennej (np. ''h'') utworzoną w przestrzeni roboczej MATLABa (widoczną w SIMULINKu).  +  - Przeniesienie wyników symulacji do przestrzeni roboczej MATLABa (blokiem ''simout''). 
-     - Analiza stabilności absolutnej. +  - Rozwiązanie analityczne ww. równania: 
-     - Przeniesienie wyników symulacji do przestrzeni roboczej MATLABa (blokiem ''simout''). +
-     - Rozwiązanie analityczne ww. równania: +
         - pierwiastki równania charakterystycznego mają część rzeczywistą ''a=-0.25'' i urojoną ''b=sqrt(47)/4'',         - pierwiastki równania charakterystycznego mają część rzeczywistą ''a=-0.25'' i urojoną ''b=sqrt(47)/4'',
         - postać rozwiązania ''x=exp(a*t) .* (C1*cos(b*t) + C2*sin(b*t))'',         - postać rozwiązania ''x=exp(a*t) .* (C1*cos(b*t) + C2*sin(b*t))'',
         - stałe ''C1'' i ''C2'' obliczamy z warunków początkowych i otrzymujemy: ''C1 = 1'', ''C2 = -a/b''.         - stałe ''C1'' i ''C2'' obliczamy z warunków początkowych i otrzymujemy: ''C1 = 1'', ''C2 = -a/b''.
-     - W Edytorze MATLABa piszemy funkcję (np. ''function x=an_solv(t),'' która oblicza wartość rozwiązania analitycznego w chwilach czasowych ''t''. +  - W Edytorze MATLABa piszemy funkcję (np. ''function x=an_solv(t),'' która oblicza wartość rozwiązania analitycznego w chwilach czasowych ''t''. 
-     - Podobnie piszemy funkcję, która rysuje wykres rozwiązania numerycznego i analitycznego zaznaczając obliczone wartości odpowiednio np. kółkami i krzyżykami. +  - Podobnie piszemy funkcję, która rysuje wykres rozwiązania numerycznego i analitycznego zaznaczając obliczone wartości odpowiednio np. kółkami i krzyżykami. 
-     - Uzupełniamy ww. funkcję o obliczanie średniego błędu rozwiązania numerycznego - z zastosowaniem 2 lub 3 norm (wyniki umieszczamy w wektorze np. ''err=[e1,e2];'', który jest zwracany przez funkcję np. ''function err=blad(h)''). +  - Uzupełniamy ww. funkcję o obliczanie średniego błędu rozwiązania numerycznego - z zastosowaniem 2 lub 3 norm (wyniki umieszczamy w wektorze np. ''err=[e1,e2];'', który jest zwracany przez funkcję np. ''function err=blad(h)''). 
-     - Praca w grupach:+  - Praca w grupach:
         - wybór metody w opcji okienka modelu: Simulation / Model Configuration Parameters / Solver options = Fixed-step, Solver =  jeden z: Euler, Heun, Bogacki-Shampine, Runge-Kutta.                - wybór metody w opcji okienka modelu: Simulation / Model Configuration Parameters / Solver options = Fixed-step, Solver =  jeden z: Euler, Heun, Bogacki-Shampine, Runge-Kutta.       
         - obliczenie błędu średniego dla kroku ''h=1/20, 1/40, 1/80,...,1/2560'' (wyniki proszę wpisywać do tablicy, np. ''wyniki=zeros(9,2); h=0.1; for i=1:9, sim('//nazwa modelu//'); wyniki(i,:)=blad(h); h = h/2; end,''         - obliczenie błędu średniego dla kroku ''h=1/20, 1/40, 1/80,...,1/2560'' (wyniki proszę wpisywać do tablicy, np. ''wyniki=zeros(9,2); h=0.1; for i=1:9, sim('//nazwa modelu//'); wyniki(i,:)=blad(h); h = h/2; end,''
-        - analiza wyników:  +     - analiza wyników:  
-           - czy błąd maleje gdy krok maleje? +        - czy błąd maleje gdy krok maleje? 
-           - ile razy (w przybliżeniu)? +        - ile razy (w przybliżeniu)? 
-        - obliczenie krotności redukcji błędu przy dwukrotnym zmniejszeniu długości kroku: Wynik (błędy) z i-tego wiersza tablicy ''wyniki'' należy podzielić przez błędy otrzymane w następnym wierszu, czyli z krokiem2 razy krótszym. Można to zrobić tak: ''wyniki(1:8,:)./wyniki(2:9,:)'' //[zapis tab(3:7,:) oznacza tablicę utworzoną z wierszy od 3 do 7 i wszystkich kolumn tablicy tab].//+     - obliczenie krotności redukcji błędu przy dwukrotnym zmniejszeniu długości kroku: Wynik (błędy) z i-tego wiersza tablicy ''wyniki'' należy podzielić przez błędy otrzymane w następnym wierszu, czyli z krokiem2 razy krótszym. Można to zrobić tak: ''wyniki(1:8,:)./wyniki(2:9,:)'' //[zapis tab(3:7,:) oznacza tablicę utworzoną z wierszy od 3 do 7 i wszystkich kolumn tablicy tab].//
         - wyznaczenie relacji między wzrostem dokładności a wzrostem kosztu obliczeniowego.         - wyznaczenie relacji między wzrostem dokładności a wzrostem kosztu obliczeniowego.
-     - Porównanie wyników otrzymanych dla różnych metod. +     - Porównanie przykładowych wyników otrzymanych dla różnych metod.
-     - Wnioski +
-     - Konstrukcja algorytmów adaptacyjnych, w tym algorytmy FSAL. +
-     - Ekstrapolacja Richardsona.   +
-  - Teoretyczny opis zjawiska wypływu wody ze zbiornika przez rurkę: +
-     - Równanie Bernoulliego, +
-     - Dane geometryczne zbiornika: +
-        - średnica zbiornika D = 218 mm, +
-        - średnica poziomej rurki wypływowej d = 9 mm, +
-        - oś rurki wypływowej jest na wysokości hr = 15 mm nad dnem zbiornika, +
-        - początkowa wysokość lustra wody (liczona od dna zbiornika) h0 = 145 mm. +
-     - Na dnie zbiornika leży (dokładniej: stoi na większej podstawie) stożek ścięty: +
-        - średnica dolna DS = 90 mm, +
-        - średnica górna ds = 50 mm, +
-        - wysokość hs = 55 mm.   +
-  - Równanie różniczkowe i diagram Simulinka dla wypływu wody ze zbiornika. +
-  - Rozwiązanie analityczne dla wypływu wody znad stożka. +
-  - Analiza innych źródeł błędu.  +
-  - Porównanie rozwiązania z danymi empirycznymi: +
-   +
--------- t [s] -------- h [m] ----- +
- +
-    0       0.145 +
-    7.05    0.135 +
-   14.24    0.125 +
-   21.95    0.115 +
-   30.00    0.105 +
-   38.32    0.095 +
-   47.08    0.085 +
-   56.46    0.075 +
-   66.89    0.065 +
-   78.72    0.055 +
-   90.65    0.045 +
-  104.58    0.035 +
-  113.64    0.030 +
-  123.07    0.025 +
-  135.75    0.020 +
- +
- +
- +
-====== Lab. 6 ====== +
- +
-Kartkówka:     +
-  * Budowanie diagramów modeli ciągłych w Simulinku, np.: +
-         - Ze zbiornika (jak na ćwiczeniu) woda wylewa się rurką w dnie do drugiego zbiornika położonego niżej. Z niższego zbiornika też wypływa woda rurką w dnie. Symulujemy poziomy wody w obu zbiornikach.  +
-         - W zamkniętym, pustym pomieszczeniu (np. pokoju) jest grzejnik elektryczny o mocy P i znikomej pojemności cieplnej. Powietrze w pomieszczeniu nagrzewa się, ale jednocześnie ciepło przenika przez ściany (ilość tego ciepła zależy proporcjonalnie od różnicy temperatur w pomieszczeniu i na zewnątrz, temperatura otoczenia jest stała. Symulujemy przebieg temperatury powietrza w pomieszczeniu. +
-         - Układ elektryczny RC - do źródła prądu dołączony równolegle połączony kondensator i rezystor. Symulujemy natężenie prądu przepływającego przez rezystor, +
-         - Dwa poprzednie obiekty łączymy w jeden układ: grzejnik z przykładu (2) jest rezystorem z przykładu (3). +
-         - W pokoju stoi lodówka, która jest włączona i pobiera z sieci moc P dla "pompowania" ciepła z lodówki na zewnątrz tj. do pokoju. Ilość ciepła przepompowanego w jednostce czasu jest k razy większa niż pobrana w tym czasie energia elektryczna z sieci (energia elektryczna jest w tym procesie zamieniana na ciepło rozpraszane  w pokoju. Pokój jest izolowany - nie traci ciepła. Symulujemy temperaturę w pokoju i lodówce. +
-         - Lodówkę z przykładu (5) traktujemy jako grzejnik z przykładu (2). +
-         - Symulacja poziomu wody w dwóch naczyniach połączonych rurką o małej średnicy. +
-     *  Metody numerycznego rozwiązywania zagadnienia początkowego: +
-         - metoda Eulera - kilka kroków rozwiązania przykładowego równania, +
-         - różnice między metodami jedno- i wielokrokowymi, +
-         - różnice między metodami jedno- i wieloetapowymi, +
-         - różnice między metodami jawnymi a niejawnymi, +
-         - błąd lokalny a błąd globalny rozwiązania, +
-         - zależność błędu od wielkości kroku i od rzędu metody, +
-         - dobór kroku wg kryterium stabilności absolutnej.  +
-     +
-  Przebieg ćwiczenia: +
-    *  Analiza wyników poprzedniego ćwiczenia - obliczania błędu rozwiązania numerycznego dla różnych metod i różnych kroków: +
  
                 Tabela średniego błędu kwadratowego:                 Tabela średniego błędu kwadratowego:
Linia 149: Linia 86:
   1/16-> 1/32    1.5804   3.0613   5.9707    8.020   1/16-> 1/32    1.5804   3.0613   5.9707    8.020
  
-  Szacowanie błędu rozwiązania numerycznego w przypadku braku rozwiązania dokładnego - zastosowanie ekstrapolacji Richardsona. Należy:+  Szacowanie błędu rozwiązania numerycznego w przypadku braku rozwiązania dokładnego - zastosowanie ekstrapolacji Richardsona. Należy:
     - wybrać metodę i krok oraz przeprowadzić symulację,     - wybrać metodę i krok oraz przeprowadzić symulację,
     - sprawdzić, czy krok leży w zakresie regularnego spadku błędu przy zmniejszaniu kroku,     - sprawdzić, czy krok leży w zakresie regularnego spadku błędu przy zmniejszaniu kroku,
     - na podstawie uzyskanych rozwiązań przybliżonych oszacować błąd i wyznaczyć rozwiązanie pozbawione głównej części dotychczasowego błędu,     - na podstawie uzyskanych rozwiązań przybliżonych oszacować błąd i wyznaczyć rozwiązanie pozbawione głównej części dotychczasowego błędu,
     - porównać oszacowany błąd z błędem obliczonym za pomocą rozwiązania analitycznego.     - porównać oszacowany błąd z błędem obliczonym za pomocą rozwiązania analitycznego.
-  Porównanie błędu i kosztu obliczeniowego algorytmu stałokrokowego i adaptacyjnego. +  Porównanie błędu i kosztu obliczeniowego algorytmu stałokrokowego i adaptacyjnego, w tym algorytmy FSAL
-  * Badanie stabilności absolutnej rozwiązania.  +
-  +
  
-====== Lab. 7 ======+      
  
-Plan: 
  
-  - Kartkówka - zagadnienia+====== Lab. 6 (2017) ====== 
-    zależność błędu numerycznego symulacji od kroku i rzędu metody,+ 
 +Kartkówka - wg zagadnień i przykładowych zadań wysłanych do systemu Dziekanat.     
 + 
 +Ćwiczenie nr 6**Wstęp do kalibracji modelu** 
 + 
 +**Zadanie**: Zbudować model umożliwiający symulację wypływu wody ze zbiornika. Dopuszczalne błędy: 
 +        - względny błąd symulacji bieżącego poziomu wody ''rel_err_max'' = 1e-3,  
 +        - błąd bezwzględny ''abs_err_max'' = 2[mm].  
 + 
 +**Parametry zbiornika** 
 +     - Geometria      
 +        - średnica zbiornika ''D'' = 218 mm, 
 +        - średnica poziomej rurki wypływowej ''d'' = 9 mm, 
 +        - oś rurki wypływowej jest na wysokości ''h_r'' = 15 mm nad dnem zbiornika.       
 +     - Na dnie zbiornika stoi (na większej podstawie) stożek ścięty (nie jest wypełniany wodą): 
 +        - średnica dolna ''DS'' = 90 mm, 
 +        - średnica górna ''ds'' = 50 mm, 
 +        - wysokość ''h_s'' = 55 mm.  
 +     - Początkowa wysokość lustra wody (liczona od dna zbiornika) ''h0'' = 145 mm.  
 +    
 +**Model teoretyczny** zgodny z równaniami Bernoulliego.  
 + 
 +Energia potencjalna zgromadzonej wody jest zamieniana na energię kinetyczną wody wypływającej. 
 + 
 +Otrzymujemy równanie różniczkowe: ''dh/dt = -k sqrt(h)'', gdzie ''k=(d/D)^2*sqrt(2*g)''. 
 + 
 +Model w SIMULINKu. 
 + 
 +**Dane pomiarowe:** Czas ''t'' (w sekundach), poziom wody mierzony od dna naczynia ''h'' (w metrach) 
 + 
 +t = [0 7.05 14.24 21.95 30.00 38.32 47.08 56.46 66.89 78.72 90.65 104.58 113.64 123.07 135.75]; 
 + 
 +h = [0.145 0.135 0.125 0.115 0.105 0.095 0.085 0.075 0.065 0.055 0.045  0.035 0.030 0.025 0.020]; 
 + 
 +**Porównanie wyników symulacji z danymi pomiarowymi**. 
 +   - wykres danych, 
 +   - sprawdzenie spełnienia założonych wymagań, 
 +   - potencjalne źródła rozbieżności: 
 +      - "driver" symulacji - jak zweryfikować
 +      - model (parametry lub struktura) - analiza założeń upraszczających.    
 + 
 +**Ilościowa ocena błędu symulacji** 
 +Rozwiązanie analityczne dla ''h(0)=h0'':  
 + 
 +    - ''h(t) = (sqrt(h0) - k*t/2)^2'' albo: 
 +    - ''t(h) = 2*(sqrt(h0) - sqrt(h))/k''. 
 + 
 +Tę relację zapisujemy w pliku typu ''function'' (skorzystamy na następnym laboratorium).   
 + 
 +**Plan następnego ćwiczenia** 
 +   - Kalibracja modelu - znajdowanie optymalnych wartości parametrów modelu. 
 +   - Aproksymacja danych pomiarowych w przypadku braku opisu teoretycznego. 
 +====== Lab. 7 (2017) ====== 
 + 
 + 
 + 
 + Kartkówka - (z zagadnień wymienionych w przesłanych materiałach - 18.12.2017):
     * aproksymacja danych pomiarowych - aproksymacja a interpolacja, miary błędu aproksymacji, kiedy zagadnienie aproksymacji sprowadza się do zagadnienia liniowego,      * aproksymacja danych pomiarowych - aproksymacja a interpolacja, miary błędu aproksymacji, kiedy zagadnienie aproksymacji sprowadza się do zagadnienia liniowego, 
     * numeryczne metody znajdowania minimum funkcji - przykłady metod bezgradientowych oraz gradientowych 1, i 2, rzędu, różnice między metodą Newtona a metodami quasi-newtonowskimi, ogólny schemat metod: minimalizacji wzdłuż współrzędnych (coordinate descent method), najszybszego spadku, Newtona i metody "trust region".     * numeryczne metody znajdowania minimum funkcji - przykłady metod bezgradientowych oraz gradientowych 1, i 2, rzędu, różnice między metodą Newtona a metodami quasi-newtonowskimi, ogólny schemat metod: minimalizacji wzdłuż współrzędnych (coordinate descent method), najszybszego spadku, Newtona i metody "trust region".
-  - Aproksymacja danych pomiarowych  
-    * Metody optymalizacji w aproksymacji. 
-    * Aproksymacja danych pomiarowych dla wypływu wody. 
-    * Kalibracja i walidacja modelu wypływu wody ze zbiornika. 
-    * Aproksymacja przebiegu czasowego stanu wody w rzece. 
-    * Kryterium doboru parametrów funkcji aproksymującej na przykładzie aproksymacji funkcji jednej zmiennej. 
-    * Zależność od dwóch zmiennych, 
-      - regularna i nieregularna siatka danych, 
-      - wybór funkcji bazowych - wielomiany, funkcje radialne, 
-      - aproksymacja nieparametryczna - algorytm LOWESS (locally weighted scatterplot smoothing). 
  
 + **Kalibracja modelu teoretycznego na przykładzie wypływu wody ze zbiornika**.
 +    - Wybór funkcji aproksymującej: 
 +      * ''h(t) = (sqrt(h0) - k*t/2)^2'' 
 +      * ''t(h) = 2*(sqrt(h0) - sqrt(h))/k'' 
 +    - Sprowadzenie problemu do zagadnienia liniowego.
 +    - Obliczenie wartości przebiegu symulowanego w punktach pomiaru.
 +    - Funkcja błędu.
 +    - Obliczenie optymalnych wartości parametrów modelu.
 +    - Walidacja modelu.
  
-====== Lab. 8 ======+     % Kalibracja modelu wypływu wody 
 +     format long e,  format compact 
 +     % Dane pomiarowe: 
 +     t [0 7.05 14.24 21.95 30.00 38.32 47.08 56.46 66.89 78.72 90.65 104.58 113.64 123.07 135.75]; 
 +     h [0.145 0.135 0.125 0.115 0.105 0.095 0.085 0.075 0.065 0.055 0.045 0.035 0.030 0.025 0.020]-0.015; 
 +     h0 0.13;  % początkowy poziom lustra wody. 
 +     % Wybór danych do kalibracji (ponad stożkiem): 
 +     ti t(1:10);  hi h(1:10); 
 +     % Obliczania optymalnego parametru a(=1/k): 
 +     ds sqrt(h0)-sqrt(hi); 
 +     a 0.5*ds*ti'/(ds*ds');  % uwaga: w*w' to iloczyn skalarny 
 +     k 1/a 
 +     % Wykres pomiarów ('o') i symulacji ('-') 
 +     ts 0:0.1:140; hs (sqrt(h0)-k*ts/2).^2; 
 +     plot(t,h,'o',ts,hs), legend('pomiary','symulacja');
  
-Temat: Aproksymacja dyskretna +**Budowa modelu na podstawie danych pomiarowych - Aproksymacja dyskretna.** 
- +    * Aproksymacja przebiegu czasowego stanu wody w rzece. 
- 1. Aproksymacja przepływu fali wezbraniowej w rzece. +    * Dane: 69 pomiarów na posterunku w Stróży przepływu wody w Rabie od 17.11.2015 g. 10.00  do 20.11 g. 6.00: 
-     +
- * 69 pomiarów na posterunku w Stróży przepływu wody w Rabie od 17.11.2015 g. 10.00  do 20.11 g. 6.00: +
  
     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 ...     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 ...
Linia 209: Linia 210:
   % to plot the FittedCurve at the end.   % to plot the FittedCurve at the end.
   %   %
-  function [sse, FittedCurve] = expfun(params) +    function [sse, FittedCurve] = expfun(params) 
-    A1 = params(1); +      A1 = params(1); 
-    lambda1 = params(2); +      lambda1 = params(2); 
-    FittedCurve = A1 .* exp(-lambda1 * xdata); +      FittedCurve = A1 .* exp(-lambda1 * xdata); 
-    ErrorVector = FittedCurve - ydata; +      ErrorVector = FittedCurve - ydata; 
-  end+      sse = sum(ErrorVector .^ 2); 
 +    end
   end   end
  
  * 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
  
- 2. Aproksymacja wielomianowa - obliczanie współczynników wielomianu za pomocą macierzy Vandermonde'a: + 2. **Aproksymacja wielomianowa - obliczanie współczynników wielomianu za pomocą macierzy Vandermonde'a**
  
   format compact   format compact
Linia 252: Linia 258:
   hold off    hold off 
  
- 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;   
   yz = sin(2*pi*tz) + (rand(1,21)-0.5);  % wyniki pomiarów   yz = sin(2*pi*tz) + (rand(1,21)-0.5);  % wyniki pomiarów
   %   %
-  tp = tz(1:2:end);      yp = yz(1:2:end);  % zbiór ćwiczebny+  tp = tz(1:2:end);      yp = yz(1:2:end);  % zbiór treningowy
   t_test = tz(2:2:end);  y_test = yz(2:2:end);  % zbiór testowy   t_test = tz(2:2:end);  y_test = yz(2:2:end);  % zbiór testowy
   %   %
   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 ćwiczebnych+    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 278: 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. cwiczebnych','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.1512141372.txt.gz · ostatnio zmienione: 2017/12/01 16:16 przez miller