MatLab – Cvičení 1


Zadání

  1. Vygenerujte veltor a přirozených čísel od 1 do 50
  2. Vygenerujte vektor b, který bude obsahovat racionální čísla od 1 do 10 s krokem 0.2
  3. Vygenerujte matici A o rozměrech 3×3, která bude obsahovat samé jednotky, nulovou matici B stejných rozměrů a jednotkovou matici D stejných rozměrů
  4. Spojte matice A, B a D do matice M o rozměrech 3×9
  5. Deklarujte matici C tak, aby měla následující prvky:
    C=\begin{bmatrix}1 & -1 & 1\\ 1 & -1 & 0\\ -1 & 0 & 1\end{bmatrix}
  6. Spočtěte inverzní matici matice C a výsledek uložte do matice B1.
  7. Vynásobte matice C a B1:
    1. po prvcích
    2. maticově
  8. Vynásobte (maticově) matice M a C příslušně transponované tak, aby součin existoval, pokud to vůbec jde.
  9. Přepište druhý sloupec C náhodnými hodnotami
  10. Přepište první řádek C vlastními vymyšlenými hodnotami
  11. Z matice C vyberte submatici C1, která bude obsahovat prvky prvního řádku z posledních dvou sloupců.
  12. Prvkům matice C, které jsou větší nebo rovny nule přiřaďte hodnotu 2. Prvkům, které jsou menší než nula přiřaďte náhodnou hodnotu.

Může se hodit

  • length a size
    • zeros(size(A))
  • vícerozměrná pole
    • zeros(5)
    • zeros(2,5)
    • zeros(2,5,2)

Doporučení: na začátku zadat příkaz clear *


Řešení

%Smaže všechny proměnné
clear *
close all
clc
%-------------1-------------
%Vygeneruje vektor přirozených čísel od 1 do 50
a = [1:50];
%-------------2-------------
%Vybeneruje vektor b, který bude obsahovat racionální čísla od 1 do 10 s krokem 0.2
b = [1:0.2:10];
%-------------3-------------
%Vygeneruje matici A o rozměrech 3x3, která bude obsahovat samé jednotky
A = ones(3,3);
%Vygeneruje matici B o rozměrech 3x3, ketrá bude obsahovat samé nuly
B = zeros(3,3)
%Vygeneruje matici D o rozměrech 3x3, která bude jednotková
D = eye(3,3)
%-------------4-------------
%M =(1:3, 1:3) = A; %Vložíme matici A do matice M
%M =(1:3, 4:6) = B; %Pod matici A v matici M vložíme matici B
%M =(1:3, 7:9) = D; %Pod matici B v matici M vložíme matici D
%Tím dostaneme matici m o rozměrech 3x9
M = [A B D] %2. způsob Spojení matic A,B,D do matice M
%-------------5-------------
%Dekladovaná matice C s určitými prvky (jednotlivé bloky = řádky matice)
C = [1 -1 1; 1 -1 0; -1 0 1]
%-------------6-------------
%Inverzní matice k matici C
B1 = inv(C);
%-------------7-------------
C .* B1 %Vynásobené matice C a B1 - po prvcích
C * B1 %Vynásobené matice C a B1 - maticově
%-------------8-------------
M'*C %Upravý a vynásobí matice M a C tak aby součin existoval
C'*M
%-------------9-------------
%Přepíše druhý sloupec v matici C náhodnými hodnotami
C(:,2) = rand(3,1)
%-------------10-------------
%Přepíše první řádek matice C vlastními hodnotami (4 5 3)
C(1,:) = [4 5 3]
%-------------11-------------
%Vytvoří matici která bude obsahovat prvky matice C z prvníhořádku posledních dvou sloupců
C1 = C(1,2:3)
%-------------12-------------
C (C >= 0) = [2] %Prvky matice C které jsou větší nebo rovno než 0 přepíše na hodnotu 2
C (C < 0) = rand((length(C(C < 0))),1) %Prvky matice keré jsou menší než 0 přiřadí náhodnou hodnotu

Napsat komentář