Politechnika Wrocławska | Wydział: Elektryczny Rok: II Semestr: IV Rok akademicki: 2010/2011 |
||
---|---|---|---|
Programowanie w środowisku MATLAB |
Zadanie 1.
Wygeneruj macierz o losowych elementach z rozkładu równomiernego (2x2). Macierz należy czterokrotnie powielić, a następnie pozamieniać jej wiersze i kolumny. Z wynikowej macierzy wyjąć przekątną, obliczyć jej sin oraz cos.
>> A = rand (2) %generuję macierz losową o wymiarach 2X2
A =
0.6324 0.2785
0.0975 0.5469
>> B = repmat (A,4) %powielam macierz czterokrotnie
B =
0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785
0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469
0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785
0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469
0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785
0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469
0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785
0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469
>> C = fliplr (B) %zamieniam pierwszą kolumnę z ostatnią
C =
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
>> D = flipud (C) %zamieniam pierwszy wiersz z ostatnim
D =
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
0.5469 0.0975 0.5469 0.0975 0.5469 0.0975 0.5469 0.0975
0.2785 0.6324 0.2785 0.6324 0.2785 0.6324 0.2785 0.6324
>> E = diag (D) %wyjmuję przekątną
E =
0.5469
0.6324
0.5469
0.6324
0.5469
0.6324
0.5469
0.6324
>> sinus = sin (E) %obliczam sinus przekątnej
sinus =
0.5200
0.5910
0.5200
0.5910
0.5200
0.5910
0.5200
0.5910
>> cosinus = cos (E) %obliczam cosinus przekątnej
cosinus =
0.8542
0.8066
0.8542
0.8066
0.8542
0.8066
0.8542
0.8066
Zadanie 2.
Wygeneruj macierz magiczną (3x3) oraz macierz losową o rozkładzie normalnym (3x3). Stwórz nową macierz, w której kolejnymi elementami będą liczby zespolone, gdzie jako części rzeczywiste traktujemy liczby z macierzy magicznej, natomiast części urojone – liczby z macierzy losowej. Z macierzy wynikowej wyciągamy części rzeczywiste, urojone, moduły oraz argumenty każdego z elementów.
>> A = magic (3) % Generuję macierz magiczną o wymiarach 3X3
A =
8 1 6
3 5 7
4 9 2
>> B = randn (3) % Generuję macierz losową o rozkładzie normalnym o wymiarach 3x3
B =
1.4897 0.6715 1.6302
1.4090 -1.2075 0.4889
1.4172 0.7172 1.0347
>> B = B * i; C = A + B % Tworzę nową macierz, gdzie częścią rzeczywistą będą elementy macierzy magicznej, zaś urojoną elementy macierzy losowej
C =
8.0000 + 1.4897i 1.0000 + 0.6715i 6.0000 + 1.6302i
3.0000 + 1.4090i 5.0000 - 1.2075i 7.0000 + 0.4889i
4.0000 + 1.4172i 9.0000 + 0.7172i 2.0000 + 1.0347i
>> D = real (C) %Wyciągam część rzeczywistą z uzyskanej macierzy
D =
8 1 6
3 5 7
4 9 2
>> E = imag (C) %Wyciągam część urojoną z uzyskanej macierzy
E =
1.4897 0.6715 1.6302
1.4090 -1.2075 0.4889
1.4172 0.7172 1.0347
>> F = abs (C) %Wyciągam moduł z uzyskanej macierzy
F =
8.1375 1.2045 6.2175
3.3144 5.1437 7.0171
4.2436 9.0285 2.2518
>> G = angle (C) %Wyciągam argument z uzyskanej macierzy
G =
0.1841 0.5913 0.2653
0.4391 -0.2370 0.0697
0.3405 0.0795 0.4774
Zadanie 3.
Napisz szereg poleceń, które wygenerują 20 pierwszych wyrazów ciągu Fibonacciego.
>> F0 = 0 %Pierwszy element ciągu
F0 =
0
>> F1 = 1 %Drugi element ciągu
F1 =
1
>> F2 = F1 + F0; %Trzeci element ciągu
>> F3 = F2 + F1;
>> F4 = F3 + F2;
>> F5 = F4 + F3;
>> F6 = F5 + F4;
>> F7 = F6 + F5
F7 =
13
>> F8 = F7 + F6;
>> F9 = F8 + F7;
>> F10 = F9 + F8;
>> F11 = F10 + F9;
>> F12 = F11 + F10;
>> F13 = F12 + F11;
>> F14 = F13 + F12;
>> F15 = F14 + F13;
>> F16 = F15 + F14;
>> F17 = F16 + F15
F17 =
1597
>> F18 = F17 + F16;
>> F19 = F18 + F17
F19 =
4181
Zadanie 4.
Wygeneruj macierz magiczną (5x5). Napisz polecenie wyświetlające 1 i 3 wiersz tej macierzy oraz 1 i 4 kolumnę macierzy. Utwórz nową macierz składającą się z elementów macierzy Hilberta o odpowiednich wymiarach, po czym stwórz z niej kolejny wiersz macierzy początkowej. Wyświetl co drugą kolumnę powstałej macierzy, następnie usuń jej pierwszy wiersz.
>> A = magic (5) %Generuję macierz magiczną o wymiarach 5x5
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> A([1 3],:) %Wyświetlam 1.i 3. wiersz tej macierzy oraz wszystkie kolumny
ans =
17 24 1 8 15
4 6 13 20 22
>> A(:,[1 4]) %Wyświetlam 1. i 4. kolumnę macierzy początkowej oraz wszystkie wiersze
ans =
17 8
23 14
4 20
10 21
11 2
>> A([1 3],:) %Wyświetlam 1.i 3. wiersz tej macierzy oraz wszystkie kolumny
ans =
17 24 1 8 15
4 6 13 20 22
>> A([1 3],[1 4]) %Wyświetlam 1. i 3. wiersz oraz 1. i 4. kolumnę macierzy początkowej
ans =
17 8
4 20
>> H = hilb (5) %Generuję macierz Hilberta o wymiarach 5x5
H =
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 0.3333 0.2500 0.2000 0.1667
0.3333 0.2500 0.2000 0.1667 0.1429
0.2500 0.2000 0.1667 0.1429 0.1250
0.2000 0.1667 0.1429 0.1250 0.1111
>> Obie = [A,H] %Tworzę kolejny wiersz macierzy początkowej z macierzy Hilberta
Obie =
17.0000 24.0000 1.0000 8.0000 15.0000 1.0000 0.5000 0.3333 0.2500 0.2000
23.0000 5.0000 7.0000 14.0000 16.0000 0.5000 0.3333 0.2500 0.2000 0.1667
4.0000 6.0000 13.0000 20.0000 22.0000 0.3333 0.2500 0.2000 0.1667 0.1429
10.0000 12.0000 19.0000 21.0000 3.0000 0.2500 0.2000 0.1667 0.1429 0.1250
11.0000 18.0000 25.0000 2.0000 9.0000 0.2000 0.1667 0.1429 0.1250 0.1111
>> K = Obie(:,[1 3 5 7 9]) %Wyświetlam co drugą kolumnę powstałej macierzy
K =
17.0000 1.0000 15.0000 0.5000 0.2500
23.0000 7.0000 16.0000 0.3333 0.2000
4.0000 13.0000 22.0000 0.2500 0.1667
10.0000 19.0000 3.0000 0.2000 0.1429
11.0000 25.0000 9.0000 0.1667 0.1250
>> K(2:5,:) %Usuwam pierwszy wiersz powstałej macierzy
ans =
23.0000 7.0000 16.0000 0.3333 0.2000
4.0000 13.0000 22.0000 0.2500 0.1667
10.0000 19.0000 3.0000 0.2000 0.1429
11.0000 25.0000 9.0000 0.1667 0.1250
Zadanie 5.
Wygeneruj macierz magiczną (5x5), następnie oblicz jej wyznacznik.
>> A = magic (5) %Generuję macierz magiczną
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> 11*A(1:4,2:5)-18*A([1 2 3 4],[1 3 4 5])+25*A([1 2 3 4],[1 2 4 5])-2*A([1 2 3 4],[1 2 3 5])+9*A([1 2 3 4],[1 2 3 4])
ans =
502 761 151 312
377 111 301 382
122 101 451 532
272 251 511 237
>> -272*B([1 2 3],[2 3 4])+251*B([1 2 3],[1 3 4])-511*B([1 2 3],[1 2 4])+237*B([1 2 3],[1 2 3])
ans =
-218538 -211685 -130197
-38863 -36735 -131887
-30278 -37145 -176137