Matematyka obliczeniowa - wybrane programy przykładowe z LABu

 

Poniżej znajdą Państwo niektóre programy omawiane/tworzone/modyfikowane przez nas w laboratorium. Nie jest to stricte materiał dydaktyczny - raczej coś w rodzaju "bloga z kodami", ot dla zgrubnej informacji, co było robione.

W trakcie ćwiczeń często będziemy modyfikowali te programy, lub wręcz pisali je od nowa (by były lepsze!)

Poniższe pliki źródłowe możesz pobierać, klikając w nazwę programu.

Ćwiczenia 6

c6-sesja.m

Fragment sesji MATLABa/Octave z zajęć:

  1. % własności numeryczne wybranych solverów i wybranych macierzy
  2. % jedna z macierzy Wilkinsona
  3. % macierz Hilberta
  4. % losowe
  5. % for solver...
  6.  

c6-test_prop.m

Po ściągnięciu pliku, zmień jego nazwę na test_prop.m

  1. span style="color: #228B22;">% testuje wybrane wlasnosci rozkladu i rozwiazania
  2. % blad
  3. % numeryczne kryterium NP
  4. % uwarunkowanie

c6-test_rysuj.m

Po ściągnięciu pliku, zmień jego nazwę na test_rysuj.m

  1.  

Ćwiczenia 5

c5-sesja.m

Fragment sesji MATLABa/Octave z zajęć:

  1. % macierz rzadka

Ćwiczenia 4

c4-podgamma.m

Po ściągnięciu pliku, zmień jego nazwę na podgamma.m

  1. span style="color: #228B22;">%
  2. % funkcja podcalkowa dla funkcji Gamma(x)
  3. %
  4. % wartosc argumentu dla Gamma

c4-prostokaty.m

Po ściągnięciu pliku, zmień jego nazwę na prostokaty.m

  1. span style="color: #228B22;">% wyznacza calke z ff(x) po [a,b] zlozona kwadratura
  2. % prostokatow z podzialem na N przedzialow rownej dlugosci
  3. % UWAGA: ff musi byc zwektoryzowana!
  4.  
  5. % wyznaczam wezly podzialu
  6. % wyznaczam srodki, czyli wezly kwadratury
  7. % for i=1:N
  8. % v(i) = 0.5*(x(i)+x(i+1));
  9. % end
  10. v = 0.5*(x(1:N)+x(2:N+1));
  11.  
  12. h = v(2)-v(1); %krok podzialu
  13. % wartosci w wezlach kwadratury
  14. % kwadratura!

c4-sesja.m

Fragment sesji MATLABa/Octave z zajęć:

  1. % badamy quad w prostym przypadku
  2. % a tu cos nie gra...
  3. % kwadratura prostokatow
  4. % 10x wiecej wezlow zmniejsza blad... ile razy?
  5. % kwadratura prostokatow kontra quad
  6. % wyznaczamy wartość funkcji Gamma wprost kwadraturą
  7. % jak wygląda funkcja podcałkowa?
  8. % czy to było trudne?
  9. % a teraz Gauss-Laguerre...
  10. % ...węzły...
  11. tt = [
  12. 0.263560,
  13. 1.413403,
  14. 3.596426,
  15. 7.085810,
  16. 12.640801];
  17. % ...wagi...
  18. ww = [
  19. 0.521756,
  20. 0.398667,
  21. 0.759424e-1,
  22. 0.361176e-2,
  23. 0.233700e-4];
  24. % kwadratura: tylko 5 wartości funkcji!!!
  25. % ale: czy to jest poprawna kwadratura??...
  26. % jak to sprawdzić?
  27.  

Ćwiczenia 3

c3-sesja.m

Fragment sesji MATLABa/Octave z zajęć:

  1. % interpolacja na rózne sposoby
  2. % węzły równoodległe
  3. Y = 1./(1+X.^2); % interpolowane wartości
  4. % wielomian interpolacyjny
  5. % splajn interpolacyjny kubiczny naturalny;
  6. % w MATLAB-ie tylko ze Spline Tlbx, którego nie mamy na wydziale...
  7. % w Octave tylko z Octave-Forge:
  8. % pkg install -forge splines
  9. % pkg list
  10. % pkg load splines
  11. % węzły Czebyszewa
  12. % wielomian interpolacyjny
  13.  
  14. %rysowanie funkcji interpolowanej
  15. %rysowanie interpolantów
  16. %rysowanie węzłów interpolacji
  17. %legenda

Ćwiczenia 2

c2-expo.m

Po ściągnięciu pliku, zmień jego nazwę na expo.m

  1. span style="color: #228B22;">% przybliża exp(x) wielomianem Maclaurina o K wyrazach

c2-pochodne.m

Po ściągnięciu pliku, zmień jego nazwę na pochodne.m

  1. % coraz lepsze(?) przybliżenia pochodnej ilorazami różnicowymi
  2. % skrypt w MATLABie/Octave

c2-sesja.m

Fragment sesji MATLABa/Octave z zajęć:

  1. % Arytmetyka fl nie zawsze zachowuje się zgodnie z naszą intuicją...
  2. % Błąd zaokrągleń jest wszędzie...
  3. % Miejsca zerowe wielomianu o zadanych miejscach zerowych
  4. % x - wektor zadający miejsca zerowe
  5. % c - współczynniki w bazie naturalnej
  6. % sprawdź n = 3, 10, 13, 30
  7. % sprawdź n = 3, 10, 13, 30
  8. % wykres (x-2)^13 na dwa sposoby
  9.  
  10. % sposób I
  11. % sposób II
  12. % zbliżenie wokół 2 na te same dwa sposoby
  13. % Obliczamy exp z Maclaurina, zob. plik expo.m

c2fun.m

Po ściągnięciu pliku, zmień jego nazwę na c2fun.m

  1. span style="color: #228B22;">% operator ".^" aby można było działać na wektorze x

Ćwiczenia 1

c1-mojadf.m

Po ściągnięciu pliku, zmień jego nazwę na mojadf.m

  1. % wczesniej zmien nazwe pliku na mojadf.m

c1-mojaf.m

Po ściągnięciu pliku, zmień jego nazwę na mojaf.m

  1. % wczesniej zmien nazwe pliku na mojaf.m

c1-newton.m

Po ściągnięciu pliku, zmień jego nazwę na newton.m

  1. span style="color: #228B22;">% wyznacza miejsce zerowe f z tolerancja epsilon dla przyblizenia
  2. % poczatkowego x0
  3. % sledzimy na biezaco postep iteracji

c1-sesja.m

Fragment sesji MATLABa/Octave z zajęć:

  1. % rysowanie wykresu funkcji (wbudowanej w system) sinus
  2. % rysowanie wykresu funkcji zadanej w pliku mojaf.m
  3. % uruchomienie napisanej przez nas na zajeciach iteracji Newtona
  4. % zwiekszenie precyzji wyswietlanych przez system wynikow
  5. % (dzialania sa zawsze prowadzone w tej samej, podwojnej precyzji)
  6. % uruchomienie napisanej przez nas na zajeciach iteracji Newtona dla funkcji
  7. % zadanej w pliku mojaf.m, o pochodnej zadanej w pliku mojaf.m
  8. % rozwiazanie
  9. % mojaf(x) = 0
  10. % z wykorzystaniem wbudowanej funkcji MATLABa/Octave
  11. % wiecej testow bylo na zajeciach...
  12.  
Aktualizacja: 18.10.2019, 15:00:36.
© Piotr Krzyżanowski