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.
Fragment sesji MATLABa/Octave z zajęć:
% własności numeryczne wybranych solverów i wybranych macierzy % jedna z macierzy Wilkinsona % macierz Hilberta % losowe % for solver...
Po ściągnięciu pliku, zmień jego nazwę na test_prop.m
span style="color: #228B22;">% testuje wybrane wlasnosci rozkladu i rozwiazania % blad % numeryczne kryterium NP % uwarunkowanie
Po ściągnięciu pliku, zmień jego nazwę na test_rysuj.m
Fragment sesji MATLABa/Octave z zajęć:
% macierz rzadka
Po ściągnięciu pliku, zmień jego nazwę na podgamma.m
span style="color: #228B22;">% % funkcja podcalkowa dla funkcji Gamma(x) % % wartosc argumentu dla Gamma
Po ściągnięciu pliku, zmień jego nazwę na prostokaty.m
span style="color: #228B22;">% wyznacza calke z ff(x) po [a,b] zlozona kwadratura % prostokatow z podzialem na N przedzialow rownej dlugosci % UWAGA: ff musi byc zwektoryzowana! % wyznaczam wezly podzialu % wyznaczam srodki, czyli wezly kwadratury % for i=1:N % v(i) = 0.5*(x(i)+x(i+1)); % end v = 0.5*(x(1:N)+x(2:N+1)); h = v(2)-v(1); %krok podzialu % wartosci w wezlach kwadratury % kwadratura!
Fragment sesji MATLABa/Octave z zajęć:
% badamy quad w prostym przypadku % a tu cos nie gra... % kwadratura prostokatow % 10x wiecej wezlow zmniejsza blad... ile razy? % kwadratura prostokatow kontra quad % wyznaczamy wartość funkcji Gamma wprost kwadraturą % jak wygląda funkcja podcałkowa? % czy to było trudne? % a teraz Gauss-Laguerre... % ...węzły... tt = [ 0.263560, 1.413403, 3.596426, 7.085810, 12.640801]; % ...wagi... ww = [ 0.521756, 0.398667, 0.759424e-1, 0.361176e-2, 0.233700e-4]; % kwadratura: tylko 5 wartości funkcji!!! % ale: czy to jest poprawna kwadratura??... % jak to sprawdzić?
Fragment sesji MATLABa/Octave z zajęć:
% interpolacja na rózne sposoby % węzły równoodległe Y = 1./(1+X.^2); % interpolowane wartości % wielomian interpolacyjny % splajn interpolacyjny kubiczny naturalny; % w MATLAB-ie tylko ze Spline Tlbx, którego nie mamy na wydziale... % w Octave tylko z Octave-Forge: % pkg install -forge splines % pkg list % pkg load splines % węzły Czebyszewa % wielomian interpolacyjny %rysowanie funkcji interpolowanej %rysowanie interpolantów %rysowanie węzłów interpolacji %legenda
Po ściągnięciu pliku, zmień jego nazwę na expo.m
span style="color: #228B22;">% przybliża exp(x) wielomianem Maclaurina o K wyrazach
Po ściągnięciu pliku, zmień jego nazwę na pochodne.m
% coraz lepsze(?) przybliżenia pochodnej ilorazami różnicowymi % skrypt w MATLABie/Octave
Fragment sesji MATLABa/Octave z zajęć:
% Arytmetyka fl nie zawsze zachowuje się zgodnie z naszą intuicją... % Błąd zaokrągleń jest wszędzie... % Miejsca zerowe wielomianu o zadanych miejscach zerowych % x - wektor zadający miejsca zerowe % c - współczynniki w bazie naturalnej % sprawdź n = 3, 10, 13, 30 % sprawdź n = 3, 10, 13, 30 % wykres (x-2)^13 na dwa sposoby % sposób I % sposób II % zbliżenie wokół 2 na te same dwa sposoby % Obliczamy exp z Maclaurina, zob. plik expo.m
Po ściągnięciu pliku, zmień jego nazwę na c2fun.m
span style="color: #228B22;">% operator ".^" aby można było działać na wektorze x
Po ściągnięciu pliku, zmień jego nazwę na mojadf.m
% wczesniej zmien nazwe pliku na mojadf.m
Po ściągnięciu pliku, zmień jego nazwę na mojaf.m
% wczesniej zmien nazwe pliku na mojaf.m
Po ściągnięciu pliku, zmień jego nazwę na newton.m
span style="color: #228B22;">% wyznacza miejsce zerowe f z tolerancja epsilon dla przyblizenia % poczatkowego x0 % sledzimy na biezaco postep iteracji
Fragment sesji MATLABa/Octave z zajęć:
% rysowanie wykresu funkcji (wbudowanej w system) sinus % rysowanie wykresu funkcji zadanej w pliku mojaf.m % uruchomienie napisanej przez nas na zajeciach iteracji Newtona % zwiekszenie precyzji wyswietlanych przez system wynikow % (dzialania sa zawsze prowadzone w tej samej, podwojnej precyzji) % uruchomienie napisanej przez nas na zajeciach iteracji Newtona dla funkcji % zadanej w pliku mojaf.m, o pochodnej zadanej w pliku mojaf.m % rozwiazanie % mojaf(x) = 0 % z wykorzystaniem wbudowanej funkcji MATLABa/Octave % wiecej testow bylo na zajeciach...