problem = 1; % treba staviti jedan od brojeva od 1 do 7, u zavisnosti koji zadatak sa casa zelite switch problem case 1 % realne i razlicite sopstvene vrednosti A = [1, -1, 1; 1, 1, -1; 2, -1, 0]; % inicijalizacija matrice (moze i bez zareza) eig(A); % sopstvene vrednosti matrice [P, J] = eig(A); % matrica prelaska P i dijagonalna J ~ A inv(P); % inverz matrice P det(P); % determinanta matrice P A1 = P * J * inv(P); % provera da li je P*J*P^{-1} jednako A case 2 % jedna realna i jedna kompleksna sopstvena vrednost A = [-3, 0, 0; 0, 3, -2; 0, 1, 1]; eig(A); [P, J] = eig(A); % ovo nam ne daje matrice koje zelimo % Matrica P ima kompleksne sopstvene vektore (oba konjugata), a % nama treba Re i Im. Matrica J ima kompleksne sopstvene vrednosti % (oba konjugata), a nama treba [Re, Im; -Im, Re]. Obe ove % informacije se lako dobijaju. case 3 % ponovljena realna sopstvena vrednost 4 puta, 2 bloka velicine 2 A = [2, 0, 0, 0; 0, 2, 1, 0; 0, 0, 2, 0; 1, 0, 0, 2]; [P1, J1] = eig(A); % ovde P1 uopste nije matrica prelaska, a J1 je dijagonalna jordan(A); [P, J] = jordan(A); syms x; % uvodimo simbolicku promenljivu x minpoly(A, x); % minimalni polinom matrice A case 4 % ponovljena realna sopstvena vrednost 4 puta, blokovi velicina 3 i 1 A = [2, 0, 0, 0; 0, 2, 0, 0; 0, 0, 2, 1; 1, 0, 0, 2]; [P, J] = jordan(A); A2 = (A-2*eye(4))^2; A3 = (A-2*eye(4))^3; % alternativno za minimalni polinom - kao na casu syms t; % uvodimo simbolicku promenljivu t expm(t*J); % racunamo eksponent matrice t*J expm(t*J)/exp(2*t); % mozemo i da podelimo sa exp(2*t) da vidimo sta ostaje kada se izvuce expm(t*A); % mozemo odmah i eksponent matrice t*A da racunamo case 5 % ponovljena realna sopstvena vrednost 3 puta, promena baze A = [2, 1, 1; 0, 1, -1; 0, 1, 3]; [P, J] = jordan(A); syms t; expm(t*A); case 6 % ponovljena realna i kompleksna sopstvena vrednost A = [2, 0, 1, 0; 0, 1, 0, 1; 0, 0, 2, 1; 0, -1, 0, 1]; [P, J] = jordan(A); syms t; expm(t*A); case 7 % ponovljena kompleksna sopstvena vrednost A = [-1, 0, -1, 0; 1, 0, 1, 1; 2, 0, 1, 0; 1, -1, 0, 0]; eig(A); [P, J] = jordan(A); % ovo je tesko protumaciti end