Z Skrypty dla studentów Ekonofizyki UPGOW
(Utworzył nową stronę „=Przykłady= __TOC__”) |
|||
Linia 1: | Linia 1: | ||
=Przykłady= | =Przykłady= | ||
- | + | W tym rozdziale umieszczam przykłady krótkich programów, do szczegółowego omówienia i testowania podczas zajęć w laboratorium komputerowym. Programy można zchowywać w m-plikach lub wpisywać bezpośrednio w linii komend. W podanych przykładach pomijam znak zachęty >> | |
__TOC__ | __TOC__ | ||
+ | ==Szereg geometryczny== | ||
+ | Szereg geometryczny, jest zbieżny dla | q | < 1. Program poniżej oblicza sukcesywnie sumę wzrastającej liczby składników tego szeregu do momentu, gdy przestaje się ona zmieniać, co naturalnie oznacza osiagnięcie zbieżności. | ||
+ | <source lang="matlab">q = .7; % inicjalizacja ilorazu szeregu | ||
+ | sum_szer = 0; % szukana suma szeregu, wartość zero na starcie | ||
+ | m = 0; % liczba iteracji (indeks), zero na starcie | ||
+ | pom = - 1; % zmienna pomocnicza, aby pętla mogła wystartować | ||
+ | % na początku wartość zero | ||
+ | |||
+ | while sum_szer > pom % początek pętli while | ||
+ | pom = sum_szer; | ||
+ | sum_szer = sum_szer + q^m; | ||
+ | m = m + 1; | ||
+ | end % koniec pętli while | ||
+ | |||
+ | disp(suma_szer) % pokazuje na ekranie obliczona sumę szeregu | ||
+ | disp(m) % pokazuje końcową liczbę liczbę iteracji | ||
+ | </source> | ||
+ | |||
+ | Suma szeregu geometrycznego wynosi 2.0 dla q = ½ , możesz zatem łatwo sprawdzić poprawność kodu. Zobacz także zadanie 1 na końcu tego rozdziału. | ||
+ | |||
+ | ==Rysowanie okręgu== | ||
+ | Rysowanie okręgu o środku w początku kartezjańskiego układu współrzędnych i jednostkowym promieniu r = 1. | ||
+ | <source lang="matlab">alfa = 0 : pi/60 : 2*pi; | ||
+ | y = sin(alfa); | ||
+ | x = cos(alfa); | ||
+ | plot(x,y), | ||
+ | axis(’square’) % bez tej instrukcji powstałaby elipsa wskutek różnego skalowania | ||
+ | % osi poziomej i pionowej, zob. help plot oraz help axis control | ||
+ | </source> | ||
+ | |||
+ | ==Wykorzystanie liczb zespolonych do rysowania okręgu== | ||
+ | |||
+ | Zobacz także poprzedni przykład | ||
+ | |||
+ | <source lang="matlab">alfa = 0 : pi/60 : 2*pi; | ||
+ | z = exp(i*alfa); | ||
+ | plot(z), axis(’square’)</source> | ||
+ | |||
+ | ==Rysowanie kilku funkcji na jednym wykresie== | ||
+ | |||
+ | Następujący kod powoduje przedstawienie na jednym wykresie grupy funkcji f(x) = x, x<sup>3</sup>, x<sup>5</sup>, x<sup>7</sup> | ||
+ | <source lang="matlab">x = 0: .2: 2; | ||
+ | f1 = x; f2 = x.^3; f3 = x.^5; f4 = x.^7; | ||
+ | plot(x, f1, x, f2, x, f3, x, f4)</source> | ||
+ | Uwaga: Jeżeli ostatnią linię zastąpimy przez | ||
+ | <source lang="matlab">plot(x, f1, ‘black’, x, f2, ‘blue’, x, f3, ‘green’, x, f4, ‘red’)</source> | ||
+ | wtedy każda z czterech funkcji będzie rysowana innym kolorem. | ||
+ | |||
+ | Zbiorowy wykres czterech kolejnych nieparzystych funkcji potęgowych otrzymamy na podstawie alternatywnego kodu źródłowego, | ||
+ | <source lang="matlab">x = 0: .2: 2; | ||
+ | f = [x; x.^3; x.^5: x.^7]; | ||
+ | plot(x, f)</source> |
Wersja z 12:33, 25 mar 2010
Przykłady
W tym rozdziale umieszczam przykłady krótkich programów, do szczegółowego omówienia i testowania podczas zajęć w laboratorium komputerowym. Programy można zchowywać w m-plikach lub wpisywać bezpośrednio w linii komend. W podanych przykładach pomijam znak zachęty >>
Spis treści |
Szereg geometryczny
Szereg geometryczny, jest zbieżny dla | q | < 1. Program poniżej oblicza sukcesywnie sumę wzrastającej liczby składników tego szeregu do momentu, gdy przestaje się ona zmieniać, co naturalnie oznacza osiagnięcie zbieżności.
q = .7; % inicjalizacja ilorazu szeregu sum_szer = 0; % szukana suma szeregu, wartość zero na starcie m = 0; % liczba iteracji (indeks), zero na starcie pom = - 1; % zmienna pomocnicza, aby pętla mogła wystartować % na początku wartość zero while sum_szer > pom % początek pętli while pom = sum_szer; sum_szer = sum_szer + q^m; m = m + 1; end % koniec pętli while disp(suma_szer) % pokazuje na ekranie obliczona sumę szeregu disp(m) % pokazuje końcową liczbę liczbę iteracji
Suma szeregu geometrycznego wynosi 2.0 dla q = ½ , możesz zatem łatwo sprawdzić poprawność kodu. Zobacz także zadanie 1 na końcu tego rozdziału.
Rysowanie okręgu
Rysowanie okręgu o środku w początku kartezjańskiego układu współrzędnych i jednostkowym promieniu r = 1.
alfa = 0 : pi/60 : 2*pi; y = sin(alfa); x = cos(alfa); plot(x,y), axis(’square’) % bez tej instrukcji powstałaby elipsa wskutek różnego skalowania % osi poziomej i pionowej, zob. help plot oraz help axis control
Wykorzystanie liczb zespolonych do rysowania okręgu
Zobacz także poprzedni przykład
alfa = 0 : pi/60 : 2*pi; z = exp(i*alfa); plot(z), axis(’square’)
Rysowanie kilku funkcji na jednym wykresie
Następujący kod powoduje przedstawienie na jednym wykresie grupy funkcji f(x) = x, x3, x5, x7
x = 0: .2: 2; f1 = x; f2 = x.^3; f3 = x.^5; f4 = x.^7; plot(x, f1, x, f2, x, f3, x, f4)
Uwaga: Jeżeli ostatnią linię zastąpimy przez
plot(x, f1, ‘black’, x, f2, ‘blue’, x, f3, ‘green’, x, f4, ‘red’)
wtedy każda z czterech funkcji będzie rysowana innym kolorem.
Zbiorowy wykres czterech kolejnych nieparzystych funkcji potęgowych otrzymamy na podstawie alternatywnego kodu źródłowego,
x = 0: .2: 2; f = [x; x.^3; x.^5: x.^7]; plot(x, f)