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.