background image

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 

background image

    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 

background image

   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 

background image

   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 

 

background image

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 = 

background image

   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 

background image

   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 

background image

   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