Wprowadzenie:
Ćwiczenie polegało na wykonaniu 11 zadań w programie MatLab. Komendy i wyniki obliczeń
przestawiono w poniższym zestawieniu:
1. Stwórz wektor wierszowy A składający się z 4 elementów każdy. Każdy następny element
jest większy od poprzedniego o 2.
>> A=[1:2:7]
A =
1 3 5 7
2. Stworzyć dwa wektory 13 elementowe jeden o rozkładzie równomiernym drugi o
rozkładzie logarytmicznym a następnie przemnożyć je przez siebie macierzowo i
arytmetycznie..
>>A=linspace(1, 10, 13)
A =
Columns 1 through 8:
1.0000 1.7500 2.5000 3.2500 4.0000 4.7500 5.5000
6.2500
Columns 9 through 13:
7.0000 7.7500 8.5000 9.2500 10.0000
>>B=logspace(1, 10, 13)
B =
Columns 1 through 6:
1.0000e+01 5.6234e+01 3.1623e+02 1.7783e+03 1.0000e+04
5.6234e+04
Columns 7 through 12:
3.1623e+05 1.7783e+06 1.0000e+07 5.6234e+07 3.1623e+08
1.7783e+09
Column 13:
1.0000e+10
>>A=A'
A =
1.0000
1.7500
2.5000
3.2500
4.0000
4.7500
5.5000
6.2500
7.0000
7.7500
8.5000
9.2500
10.0000
>>C=A*B
C =
Columns 1 through 6:
1.0000e+01 5.6234e+01 3.1623e+02 1.7783e+03 1.0000e+04
5.6234e+04
1.7500e+01 9.8410e+01 5.5340e+02 3.1120e+03 1.7500e+04
9.8410e+04
2.5000e+01 1.4059e+02 7.9057e+02 4.4457e+03 2.5000e+04
1.4059e+05
3.2500e+01 1.8276e+02 1.0277e+03 5.7794e+03 3.2500e+04
1.8276e+05
4.0000e+01 2.2494e+02 1.2649e+03 7.1131e+03 4.0000e+04
2.2494e+05
4.7500e+01 2.6711e+02 1.5021e+03 8.4468e+03 4.7500e+04
2.6711e+05
5.5000e+01 3.0929e+02 1.7393e+03 9.7805e+03 5.5000e+04
3.0929e+05
6.2500e+01 3.5146e+02 1.9764e+03 1.1114e+04 6.2500e+04
3.5146e+05
7.0000e+01 3.9364e+02 2.2136e+03 1.2448e+04 7.0000e+04
3.9364e+05
7.7500e+01 4.3581e+02 2.4508e+03 1.3782e+04 7.7500e+04
4.3581e+05
8.5000e+01 4.7799e+02 2.6879e+03 1.5115e+04 8.5000e+04
4.7799e+05
9.2500e+01 5.2017e+02 2.9251e+03 1.6449e+04 9.2500e+04
5.2017e+05
1.0000e+02 5.6234e+02 3.1623e+03 1.7783e+04 1.0000e+05
5.6234e+05
Columns 7 through 12:
3.1623e+05 1.7783e+06 1.0000e+07 5.6234e+07 3.1623e+08
1.7783e+09
5.5340e+05 3.1120e+06 1.7500e+07 9.8410e+07 5.5340e+08
3.1120e+09
7.9057e+05 4.4457e+06 2.5000e+07 1.4059e+08 7.9057e+08
4.4457e+09
1.0277e+06 5.7794e+06 3.2500e+07 1.8276e+08 1.0277e+09
5.7794e+09
1.2649e+06 7.1131e+06 4.0000e+07 2.2494e+08 1.2649e+09
7.1131e+09
1.5021e+06 8.4468e+06 4.7500e+07 2.6711e+08 1.5021e+09
8.4468e+09
1.7393e+06 9.7805e+06 5.5000e+07 3.0929e+08 1.7393e+09
9.7805e+09
1.9764e+06 1.1114e+07 6.2500e+07 3.5146e+08 1.9764e+09
1.1114e+10
2.2136e+06 1.2448e+07 7.0000e+07 3.9364e+08 2.2136e+09
1.2448e+10
2.4508e+06 1.3782e+07 7.7500e+07 4.3581e+08 2.4508e+09
1.3782e+10
2.6879e+06 1.5115e+07 8.5000e+07 4.7799e+08 2.6879e+09
1.5115e+10
2.9251e+06 1.6449e+07 9.2500e+07 5.2017e+08 2.9251e+09
1.6449e+10
3.1623e+06 1.7783e+07 1.0000e+08 5.6234e+08 3.1623e+09
1.7783e+10
Column 13:
1.0000e+10
1.7500e+10
2.5000e+10
3.2500e+10
4.0000e+10
4.7500e+10
5.5000e+10
6.2500e+10
7.0000e+10
7.7500e+10
8.5000e+10
9.2500e+10
1.0000e+11
3. Stwórz wektor kolumnowy B będący wektorem transponowanym wektora A.
>>A=[1:2:7]
A =
1 3 5 7
>>B=A'
B =
1
3
5
7
4. Stwórz losowy wektor kolumnowy składający się z 15 elementów, uszeregowanych
malejąco.
>> A=flipud(sort(rand(15,1)))
A =
0.895799
0.889246
0.842630
0.803055
0.741761
0.720157
0.709289
0.669667
0.533288
0.517107
0.430215
0.360323
0.255206
0.155424
0.032823
5. Stwórz 5-elementowe wektory losowe a następnie stwórz z nich macierz kwadratową.
>>A=rand(5,1)
A =
0.959316
0.487658
0.135404
0.600005
0.054210
>>B=rand(1,5)
B =
0.910763 0.859291 0.718904 0.088673 0.569505
>>C=A*B
C =
0.8737089 0.8243315 0.6896557 0.0850652 0.5463347
0.4441407 0.4190403 0.3505792 0.0432420 0.2777235
0.1233209 0.1163515 0.0973425 0.0120066 0.0771132
0.5464619 0.5155788 0.4313457 0.0532041 0.3417055
0.0493723 0.0465821 0.0389717 0.0048069 0.0308728
6. Stwórz 25-elementową macierz jednostkową.
>> A= eye(5)
A =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
7. Porównaj wyniki operacji arytmetycznych macierzowych i operacji arytmetycznych
tablicowych. Na dwóch losowych macierzach 9-elementowych.
>> A=rand(3,3)
A =
0.104739 0.377794 0.447976
0.925390 0.169100 0.259201
0.035940 0.316667 0.035030
>> b=rand(3,3)
b =
0.4272090 0.4919748 0.7380851
0.7082156 0.6737299 0.0093182
0.8962127 0.0248778 0.5348366
>> C=A*b
C =
0.713787 0.317205 0.320420
0.747394 0.575644 0.823222
0.271017 0.231901 0.048213
>> D=A.*b
D =
0.0447453 0.1858653 0.3306447
0.6553754 0.1139277 0.0024153
0.0322103 0.0078780 0.0187354
Wyniki operacji są różne od siebie. Operacje:
macierzowe są wykonywane zgodnie z zasadami rachunku macierzowego,
tablicowe są wykonywane dla każdego elementu tablicy lub mających te same położenie
elementów tablic.
8. Stwórz losową macierz [3x4], a następnie stwórz na podstawie tej macierzy wektory:
- wierszowy składający się z pierwszej kolumny macierzy
- kolumnowy składający się z parzystych elementów macierzy
>> A=rand(3,4)
A =
0.43035 0.18118 0.89289 0.70023
0.16397 0.21889 0.10573 0.74761
0.63264 0.81041 0.80289 0.71992
>> B=A(:,1)
B =
0.43035
0.16397
0.63264
>> rot90(B)
ans =
0.43035 0.16397 0.63264
>> C=A(:,[2,4])
C =
0.18118 0.70023
0.21889 0.74761
0.81041 0.71992
>> C=C(:)
C =
0.18118
0.21889
0.81041
0.70023
0.74761
0.71992
9. Stworzyć macierz [5x4] jedynek a następnie zmienić parzyste elementy macierzy na
elementy losowe
>> A=ones(5,4)
A =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
>> A(:,[2,4])=rand
A =
1.00000 0.58394 1.00000 0.58394
1.00000 0.58394 1.00000 0.58394
1.00000 0.58394 1.00000 0.58394
1.00000 0.58394 1.00000 0.58394
1.00000 0.58394 1.00000 0.58394
10. Stworzyć macierz losową [10x10] i wyszukać wszystkie wartości większe od 0.5 i stworzyć z
nich wektor kolumnowy.
>> A=rand(10,10)
A =
Columns 1 through 6:
0.5413094 0.0970189 0.9896425 0.8019690 0.1194022 0.3640532
0.6616172 0.3361420 0.2455752 0.4634537 0.7252092 0.8653545
0.8777246 0.8553842 0.6502937 0.6296173 0.5919636 0.3906681
0.0616299 0.0036315 0.8604823 0.6854900 0.2351430 0.7656639
0.8533325 0.9737939 0.8841113 0.1942254 0.9310827 0.6159042
0.0356974 0.4590816 0.1264172 0.5020981 0.8685868 0.8307151
0.0365815 0.0894143 0.3475473 0.7321232 0.1570786 0.6097238
0.0126727 0.2465988 0.0190428 0.4123996 0.0382545 0.1106304
0.2305280 0.3287065 0.3709212 0.5660453 0.7873296 0.6443821
0.7930288 0.6519398 0.0385102 0.1202996 0.3999244 0.4329205
Columns 7 through 10:
0.8397718 0.5701640 0.2099667 0.4359243
0.9646408 0.0582580 0.5641796 0.1729894
0.7166699 0.0214257 0.0064458 0.2490838
0.4284983 0.7873142 0.0539899 0.5206775
0.1988225 0.0738317 0.4265142 0.3635143
0.3257487 0.3741782 0.6475779 0.1568897
0.9470058 0.4772374 0.0293554 0.5512796
0.9218135 0.5284339 0.3877417 0.4881469
0.1353302 0.1885528 0.0155902 0.3581308
0.6912486 0.5108079 0.2450864 0.5290494
>> B=A(A>0.5)
B =
0.54131
0.66162
0.87772
0.85333
0.79303
0.85538
0.97379
0.65194
0.98964
0.65029
0.86048
0.88411
0.80197
0.62962
0.68549
0.50210
0.73212
0.56605
0.72521
0.59196
0.93108
0.86859
0.78733
0.86535
0.76566
0.61590
0.83072
0.60972
0.64438
0.83977
0.96464
0.71667
0.94701
0.92181
0.69125
0.57016
0.78731
0.52843
0.51081
0.56418
0.64758
0.52068
0.55128
0.52905
11. Określić długość wektora stworzonego w punkcie 10.
>> size(B)
ans =
44 1