Programowanie Przykłady

Z Skrypty dla studentów Ekonofizyki UPGOW

(Różnice między wersjami)
(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)