Słodowicz Konrad 30792 AR12L Pon_12-14 elkondo
Transkrypt
Słodowicz Konrad 30792 AR12L Pon_12-14 elkondo
This version of Total HTML Converter is unregistered. Słodowicz Konrad 30792 AR12L Pon_12-14 [email protected] LAB_2: Podstawowe działania macierzowe 10.03.2014 Celem ćwiczenia jest sprawdzenie podstawowych umiejętnosci w programie Matlab. Contents Zadanie 1 Zadanie 2 Zadanie 3 Zadanie 4 Zadanie 5 Zadanie 6 Zadanie 7 Zadanie 8 Zadanie 9 Wnioski Zadanie 1 Utworzyć wektor o liczbach całkowitych parzystych z przedziału od 31 do 75. zad1=32:2:75; Zadanie 2 Niech X=magic(5) X=magic(5); % a) dodaj 16 do każdego elementu X=X+5; % b) dodaj 3 tylko do elementów o dwóch nieparzystych indeksach np. (1,1), (1,3), (5,1) itd. i wynik zapisz w X X(1:2:size(X, 2), 1:2:size(X, 2))=X(1:2:size(X, 2), 1:2:size(X, 2))+3; % c) oblicz pierwiastek kwadratowy z każdego elementu sqrt(X); % d) podnieś każdy element macierzy do kwadratu X.^2; % e) podnieś całą macierz do kwadratu X^2; Zadanie 3 Niech x = [3 2 6 8]' i y = [4 1 3 5]' (wektory kolumnowe) x=[3 2 6 8]'; y=[4 1 3 5]'; % a) dodaj sumę elementów x do y sum(x); sum(y); % b) podnieś każdy element x do potęgi określonej w y This version of Total HTML Converter is unregistered. x.^y; % c) podziel każdy element y przez odpowiadający mu element x y./x; % d) pomnóż każdy element x przez odpowiadający mu element w y, nazywając wynik z z=x.*y; % e) dodaj elementy z i nazwij jako w w=sum(z); % f) oblicz x'*y - w i zinterpretuj wynik x'*y-w ans = 0 Mnozenie macierzy x' i y to suma iloczynów x'(1,1)*y(1,1)+x'(1,2)*y(2,1)+...+x'(1,4)*y(4,1). Macierz z to macierz kolejnych dodawanych w powyzszym równaniu iloczynów. Wartosc w to suma wartosci macierzy z, czyli kolejnych iloczynów. Widac, ze w takim razie x'*y == w czyli x'*y-w==0. Zadanie 4 oblicz poniższe wyrażenia w Matlabie, wynik sprawdź ręcznie a) 2/2*3 % b) 6-2/5+7^2-1 % c) 10/2\5-3+2*4 % d) 3^2/4 % e) 3^2^2 % f) 2+round(6/9+3*2)/2-3 % g) 2+floor(6/9+3*2)/2-3 % h) 2+ceil(6/9+3*2)/2-3 ans = 3 ans = 53.6000 ans = 6 ans = 2.2500 ans = 81 ans = 2.5000 ans = 2 ans = 2.5000 Zadanie 5 Utwórz wektor x o 50 elementach wg następującego schematu a) 2, 4, 6, 8, ... x=2:2:100; % b) 10, 8, 6, 4, 2, 0, -2, -4 This version of Total HTML Converter is unregistered. x=(0:-2:-98)+10; % c) 1, 1/2, 1/3, 1/4, 1/5, ... x=1./(1:50); % d) 0, 1/2, 2/3, 3/4, 4/5, ... x=(0:49)./(1:50); Zadanie 6 Oblicz sumę 100 elementów ciągu, xn = (-1)^(n+1)/(2n-1) n=1:100; sum((-1).^(n+1)./(2.*n-1)); Zadanie 7 Dany: x = [3 1 5 7 9 2 6], wyznacz: x=[3 1 5 7 8 2 6]; % a) piąty element wektora x x(5); % b) elementy wektora x o indeksach od 2 do 5 x(2:5); % c) elementy x o indeksach 6, 4, 2 x([6 4 2]); % d) elementy x od 2 do przedostatniego x(2:end-1); % e) sumę elementów x o parzystych indeksach sum(x(2:2:end)); % f) usuń z x element o indeksie 4 x(4)=[]; % g) uzupełnij x o dwa nowe elementy 0 na początku i 0 na końcu x=[0 x 0]; Zadanie 8 Dane: A= [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5], dokonaj: A=[2 7 9 7;3 1 5 6;8 1 2 5]; % a) transpozycji macierzy A A'; % b) wybierz 1 i 4 kolumnę macierzy A A(1:end, [1 4]); % c) wybierz elementy z 2 i 3 wiersza oraz 4 i 1 kolumny macierzy A A([2 3], [4 1]); % d) zamień macierz na wektor a a=A(:)'; % e) zamień wektor a na macierz o wymiarach 2x6 a=reshape(a, 2, 6); % f) przerzuć elementy macierzy góra-dół a=flipud(a); % g) przerzuć elementy macierzy prawo-lewo a=fliplr(a); % h) dodaj czwarty wiersz zawierający same zera A=[A;zeros(1, 4)]; % i) wybierz drugi wiersz A(2, 1:end); % j)skopiuj ostatnią kolumnę i utwórz z niej nowy ostatni wiersz A=[A;(A(1:end, end))']; % k) wyznacz sumy elementów w wierszach sum(A'); % l) wyznacz sumy elementów w kolumnach sum(A); % m) wyznacz sumę wszystkich elementów This version of Total HTML Converter is unregistered. sum(sum(A)); % n) uzupełnij macierz o pierwszą kolumnę zawierającą numer kolumny A=[1:size(A', 2);A']'; % o) przyporządkowania parzystych kolumn z A do tablicy B B=A(1:end, 2:2:end); % p) przyporządkowania nieparzystych kolumn A do tablicy C C=A(1:end, 1:2:end); % q) przyporządkować pierwszy wiersz A do wektora x1 x1=A(1, 1:end); % r) przyporządkować ostatnie 2 wiersze A do tablicy y y=A(end-1:end, 1:end); Zadanie 9 Rozwiązać układ równań metodą macierzową x1 + 7x2 - 3x3 +2x4 = 8 -2x1 + 2x3 -5x4 = 15 7x1 +10x2 -16 x4 = 0 8x1 + x2 -7x3 + 3x4 = 1 Metoda Cramera A=[1 7 -3 2;-2 0 2 -5;7 10 0 -16;8 1 -7 3]; a=det(A); B=[8 15 0 1]'; x1=det([B';(A(1:end, 2:end))']')/a x2=det([(A(1:end, 1))';B';(A(1:end, 3:end))']')/a x3=det([(A(1:end, 1:2))';B';(A(1:end, 4))']')/a x4=det([(A(1:end, 1:3))';B']')/a x1 = -8 x2 = -1.3333 x3 = -11.3333 x4 = -4.3333 Metoda Macierzowa A=[1 7 -3 2;-2 0 2 -5;7 10 0 -16;8 1 -7 3]; B=[8 15 0 1]'; X=A^-1*B X = -8.0000 -1.3333 -11.3333 -4.3333 Wnioski Dziażania tablicowe i macierzowe w Matlabie są proste pod warunkiem, że zna się odpowiednie komendy. Wiele prostych operacji można najczęsciej zastąpic jedną komendą. Published with MATLAB® R2013a This version of Total HTML Converter is unregistered.