Ć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