Ćwiczenia

Transkrypt

Ćwiczenia
Kurs letni
„Matematyka finansowa w pakiecie MATLAB”
Ćwiczenia, część I
Ćw. 1. Rozważmy macierze
A=
5 −6 2
−2
4 1
!
i B=
5
2 2
−1 −2 1
!
.
a) Odczytaj A22 i B13 .
b) Wyznacz macierze A + B, A − B, A + 2, 3A − 2B.
c) Jaka jest różnica pomiędzy operacjami A*B i A.*B? Którą z nich można zrealizować? Wyznacz wynik tej operacji.
d) Wyznacz macierze A^2 i A.^2 .
e) Wyznacz macierze A · B T i AT · B.
f) Wypisz cały pierwszy wiersz macierzy A.
g) Wypisz całą drugą kolumnę macierzy B.
h) Wypisz pierwszą i trzecią kolumnę macierzy A (nie usuwając drugiej).
i) J.w., ale tak, by najpierw była kolumna trzecia, a potem pierwsza.
j) Oblicz sumę elementów każdej kolumny macierzy A.
k) Oblicz sumę elementów każdego wiersza macierzy A.
l) Usuń drugą kolumnę macierzy A oraz trzecią kolumnę macierzy B.
m) Oblicz wyznacznik macierzy A.
n) Wyznacz macierz odwrotną do A.
o) Sprawdź, czy A · A−1 = Id oraz A−1 · A = Id.
Ćw. 2. Utwórz 10-elementowy wektor, którego wszystkie elementy będą równe 5. Uwaga: nie
wolno wprowadzić liczby 5 więcej niż raz.
Ćw. 3. Utwórz wektor składający się ze wszystkich liczb parzystych od 2 do 20, a następnie przekształć go tak, aby składał się z tych samych elementów, ale ustawionych
w odwrotnej kolejności.
Ćw. 4. Wygeneruj wektor 20-elementowy, którego elementy są liczbami losowymi z rozkładu
jednostajnego na odcinku (0, 1). Posortuj elementy tego wektora najpierw rosnąco,
a później malejąco. Wypisz elementy najmniejszy i największy.
Ćw. 5. Wygeneruj wektor 20-elementowy, losując jego elementy zgodnie ze standardowym
rozkładem normalnym. Oblicz sumę elementów dodatnich oraz sumę elementów ujemnych.
1
Ćw. 6. Utwórz macierz, której wiersze mają postać
√
[k, k sin k]
dla k ∈ {0, . . . , 10}. Wykorzystując tę macierz, oblicz wartość wyrażenia
√
√
7 sin 7 + 5 sin 5.
Ćw. 7. Stwórz macierz, której wiersze mają postać
[k, 2k, 3k]
dla k ∈ {1, 3, 5, 7, 9}.
Ćw. 8. Narysuj wykres funkcji y = −3x5 + 3x2 + x − 3 dla x ∈ [−3, 3]. Dodaj tytuł oraz
podaj zakres dziedziny.
Ćw. 9. Narysuj wykresy funkcji
y = x2 ,
y = x3 ,
y = x sin x
w jednym układzie współrzędnych, wybierając jako dziedzinę przedział [−1, 1]. Dla
każdego wykresu wybierz inny kolor oraz styl linii. Do wykresu dołącz legendę.
Ćw. 10. Narysuj wykres funkcji
√
z = cos x cos ye
x2 +y 2
4
dla x, y ∈ [−5, 5] dwukrotnie, w osobnych oknach, używając raz polecenia mesh, a raz
surf.
Ćw. 11. Wykorzystując dane z poniższej tabelki wykonaj wykres
a) słupkowy,
b) kołowy
prezentujący liczbę ludności (w mln) na poszczególnych kontynentach (dane z roku
2008).
Europa
732
Azja
4054
Ameryka Pn.
337
Ameryka Łac. 577
Afryka
973
Oceania
34
Dane na podstawie http://pl.wikipedia.org/wiki/Ludność świata
2
Ćw. 12. Wykonaj wykres liniowy, prezentujący zmianę liczby ludności świata na przestrzeni
ostatnich 55 lat. Dane (w mln) znajdują się w tabeli poniżej.
rok
ludność
1950
2519
1955
2756
1960
3032
1965
3335
1970
3699
1975
4068
1980
4451
1985
4830
1990
5295
1995
5673
2000
6124
2005
6515
Dane na podstawie http://pl.wikipedia.org/wiki/Ludność świata
Ćw. 13. Napisz funkcję f, która dla argumentu x oblicza wartość f (x) według wzoru

2

x

− 6 dla x > 3,
f (x) = x
dla − 1 ¬ x ¬ 3,

 2
x − 2 dla x < −1.
Następnie napisz skrypt wykres funkcji1, który będzie rysował wykres funkcji f na
przedziale [−3, 5].
Ćw. 14. (Na podst. [1, str. 42-44]) Napisz skrypt rysujący okrąg o środku (0, 0) i promieniu 1.
Użyj współrzędnych biegunowych. Środek okręgu zaznacz znakiem x. Następnie zmodyfikuj ten skrypt, dodając w pierwszej linii zapytanie o promień okręgu r:
r=input(’Podaj promień okręgu: ’)
i odpowiednio modyfikując wyrażenia na obliczanie współrzędnych x i y.
Ćw. 15. ([1, Ćw. 2 str. 47]) Napisz funkcję, która przelicza temperaturę pomiędzy skalą Celsjusza i Fahrenheita. Danymi wejściowymi funkcji powinny być dwie liczby definiujące
zakres temperatur podanych w skali Celsjusza. Wynikiem działania funkcji powinna
być tablica zawierająca wskazania temperatur w skali Celsjusza w podanym zakresie
co 1◦ C oraz odpowiadające im wartości temperatury w skali Fahrenheita, obliczane
zgodnie ze wzorem F = 95 C + 32.
Ćw. 16. ([1, Ćw. 3 str. 47]) Używając pętli for lub while, napisz funkcję, która dla podanego n oblicza wartość n!. (Uwaga: zadanie można również rozwiązać, wykorzystując
wbudowaną funkcję prod).
Ćw. 17. ([1, Ćw. 5 str. 47]) Napisz funkcję, która dla podanych r i n oblicza sumę n początkowych wyrazów ciągu geometrycznego o pierwszym wyrazie równym 1 i ilorazie r.
Ćw. 18. ([1, Ćw. 6 str. 48]) Zysk uzyskany po n latach z wkładu, którego oprocentowanie roczne wynosi r, zależy od sposobu kapitalizacji odsetek. Jeżeli są one dodawane do stanu
konta k razy w roku, a zainwestowany kapitał to X0 , to po n latach powinno być
kn
na koncie X = X0 1 + kr . Napisz funkcję, która obliczy zysk X − X0 dla danych
3
X0 , n, r oraz k. Użyj jej do zbadania różnicy pomiędzy zyskiem z wkładu o wysokości 1000 dolarów przy oprocentowaniu 6% rocznie, osiągniętym po 5 latach, gdy
odsetki są kapitalizowane kwartalnie (k = 4) oraz, gdy są kapitalizowane codziennie
(k = 365).
Ćw. 19. ([1, str. 54-55]) Utwórz nowy skrypt, wpisując w niego treść zamieszczoną poniżej
(uwzględniając puste wiersze).
%% Publikowanie raportów - prosty przykład
%% Wykres spirali
% Narysujmy spiralę, przyjmując dane
% r(t)=exp(-theta/10), 0<=theta<=10*pi
%% Tworzenie wektorów theta oraz r
theta=0:0.05:10*pi; % rozmieszczamy punkty na odcinku[0,10*pi] co 0,05
r=exp(-theta/10); % obliczamy r
%% Rysowanie biegunowego wykresu r w zależności od theta
polar(theta,r)
Zapisz plik jako wykres spirali.m. Opublikuj plik w formacie html, a następnie zwróć
uwagę na rolę % i %%.
Zamień czwarty wiersz skryptu na dwa następujące:
%
% $r(t)=\exp(-\theta/10), 0\leq\theta\leq10\pi$
Sprawdź efekt działania.
Bibliografia:
[1] Rudra Pratap: MATLAB 7 dla naukowców i inżynierów. PWN, Warszawa 2009.
4

Podobne dokumenty