i B=[4 ] ]

Transkrypt

i B=[4 ] ]
Metody numeryczne
Zadania na kolokwium 1
Poniżej jest lista 8 zadań, z którch 3 będą na kolokwium do zrobienia. Na pewno będzie jedno
trudniejsze zadanie (5, 6 albo 8) i dwa łatwiejsze (np. 1 i 3). Mnie rozwiązanie w zasadzie każdego
z zadań zajęło mniej więcej 5 min. Średnio na 3 zadania wychodzi 15 min. - jeśli umie się materiał.
Państwo będą mieć na kolokwium 45 min. na rozwiązanie tych trzech zadań.
Będzie można korzystać tylko z materiałów PDF dostępnych na mojej stronie. Trzeba rozumieć co
się będzie pisać.
1. Dodawanie i odejmowanie macierzy, mnożenie macierzy przez liczbę,
dodawanie i odejmowanie liczb do macierzy, wszystkie operacje
z wykorzystaniem pętli for
Zadnie przykładowe:
[
Dane są dwie macierze: A= 1 2 3 4
0 −1 5 14
]
[
3
2 1
i B= 4
−4 −3 −2 5
]
Napisz skrypt, który korzystając z pętli for wyznaczy wartość macierzy C=3⋅A+ B+12 .
Po wyznaczeniu macierzy C skrypt powinien wyświetlać jej zawartość.
2. Mnożenie macierzy z wykorzystaniem pętli for
Zadanie przykładowe:
[ ]
1 2
Dane są dwie macierze: A= 3 4
5 8
9 −2
[
i B= −1 −9 3 5
4 −3 4 0
]
Napisz skrypt, który korzystając z pętli for wyznaczy wartość macierzy C=A⋅B .
Po wyznaczeniu macierzy C skrypt powinien wyświetlać jej zawartość.
3. Transponowanie macierzy z wykorzystaniem pętli for
Zadanie przykładowe:
[ ]
3 4
5
9
−2
8 .
Dana jest macierz A=
0 −1 −2
6 12 7
Napisz skrypt, który korzystając z pętli for wyznaczy wartość macierzy C=A T .
Po wyznaczeniu macierzy C skrypt powinien wyświetlać jej zawartość.
4. Transponowanie macierzy z wykorzystaniem pętli for, wyznacznie
wyznacznika
Zadanie przykładowe:
[
]
3 1
2
A= 8 1 −12 .
−5 4
9
Napisz skrypt, który korzystając z pętli for wyznaczy wartość macierzy C=A T .
Po wyznaczeniu macierzy C skrypt powinien wyświetlać jej zawartość.
Następnie wylicz wyznacznik macierzy C i wyświetl jego wartość.
Dana jest macierz
5. Interpolacja z wykorzystaniem wielomianów w postaci naturalnej
Należy zapisać odpowiednio utworzoną macierz główną X, wektor wyników Y i wektor
współczynników A. Taki układ równań w postaci macierzowej rozwiązujemy (A=inv(X)*Y)
otrzymując współczynniki wielomianu interpolacyjnego, którego trzeba jeszcze narysować.
Zadanych punktów do interpolacji nie będzie więcej niż 4.
Zadanie przykładowe:
Dany jest zbiór punktów: p1(1, 3), p2(3, 8), p3(4, 2).
Napisać skrypt, który dla podanych punktów ustali wzór wielomianu interpolacyjnego W(x)
oraz wyświetli wykres tego wielomianu z zaznaczonymi punktami p1, p2, p3.
6. Aproksymacja z samodzielną budową układu równań
Tworzymy samodzielnie macierz główną układu równać X z odpowiednią zawartością, wektor
wyników Y oraz wektor niewiadomych A. Taki układ rozwiązujemy (A=inv(X)*Y) otrzymując
współczynniki wielomianu aproksumującego. Następnie należy narysować otrzymany wielomian
razem z danymi punktami. Wielomian aproksymacyjny, który trzeba znaleźć,będzie maksymalnie
2-go stopnia.
Zadanie przykładowe:
Danych jest sześć punktów: p1(1, 2), p2(2, 3), p3(3, 10), p4(4, 13), p5(5, 25), p6(6, 37).
Napisać skrypt, który dla podanych 6 punktów znajdzie wielomian aproksymacyjny pierwszego
stopnia (prosta: y=a1+a2x). Należy utworzyć układ równań (macierz główna X, wektor
niewiadomych A i wektor Y), rozwiązać go i znaleźć współczynniki a1 i a2. Narysować na wykresie
prostą aproksymującą oraz 6 punktów podanych powyżej.
7. Liczenie błędu aproksymacji, wykorzystanie funkcji polyfit()
i polyval()
Będzie podanych n punktów (nie więcej niż 10) i trzeba będzie wyliczyć jeden z błędów:
• błąd bezwzględny,
• błąd kwadratowy (SSE)
• średni bląd kwadratowy (MSE).
Korzystamy z funkcji polyfit() i polyval().
Zadanie przykładowe:
Danych jest sześć punktów: p1(1, 2), p2(2, 3), p3(3, 10), p4(4, 13), p5(5, 25), p6(6, 37).
Napisać skrypt, który korzystając z funkcji polyfit() znajdzie wielomian aproksymacyjny W(x) 4-go
stopnia. Następnie korzystając z funkcji polyval() obliczyć wartości wy=W(xi) dla wszystkich 6
współrzędnych x podanych punktów. Obliczyć błąd kwadratowy i go wyświetlić.
8. Liczenie błędu aproksymacji, rysowanie funkcji aproksymacyjnej i
punktów.
Będzie podanych n punktów (nie więcej niż 10) i trzeba będzie wyliczyć jeden z błędów:
• błąd bezwzględny,
• błąd kwadratowy (SSE)
• średni bląd kwadratowy (MSE).
Korzystamy z funkcji polyfit() i polyval(). Następnie należy narysować wykres wielomianu
aproksymacyjnego. Na wykresie proszę również narysować dane w zadaniu punkty (xi, yi) oraz
punkty należące do funkcji aproksymującej (xi, wyi).
Zadanie przykładowe:
Danych jest sześć punktów: p1(1, 2), p2(2, 4), p3(3, 10), p4(4, 9), p5(5, 18), p6(6, 15).
Napisać skrypt, który korzystając z funkcji polyfit() znajdzie wielomian aproksymacyjny W(x) 3-go
stopnia. Następnie korzystając z funkcji polyval() obliczyć wartości wy=W(xi) dla wszystkich 6
współrzędnych x podanych punktów. Obliczyć błąd kwadratowy i go wyświetlić.
Proszę dodatkowo narysować na jednym wykresie:
• funkcję odpowiadającą wielomianowi znalezionemu przez polyfit(),
• dane punty: p1, p2, …, p6,
• punkty należące do znalezionego wielomianu leżące w punktach o wsp. x odpwiadającej
puntom zadanym: (x1, wy1), (x2, wy2), …, (x6, wy6).