Eigenvalue and Eigenvector extracting
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
so I have a time array say, 0< t < 10
My elements of matrix are function that will depend on variable t.
Say, a11 = (t^2)/2 ,a12 = (1+t) / 2, a13 = t^2
a21 = 3 a22 = 0 a23 = t^3 -1
a31 = 4, a32= 0, a33 = 0
I am able to set up tha a matrix and apply all time intervals into element of the matrix. I am having touble on how I should use either for loop or an alternative method, to get eigenvalues of each corresponding ts.
A1 = [a11(:,1), a12(:,1)........0] ; [V1, E1]=eig(A1)
A2 = [a11(:,2), a12(:,2)........0]; [V2, E2]=eig(A2)
this may kinda work, but it's is lots of repatition until A10 and I prefer using a loop to get all the specific valuse. Say if I want more points between 0s to 10s, (like 0.1) using t = [1:0.1:10], I won't be able to type each A1 A2 A3...
I want the program to show me that eigenvlaues when t = 1, t =1.1 or t=1.2 when t=2, t=3 .....until t=10. How do I get the matrix to find eigvlaues of each corresponding time? do i have to use a for loop?
0 commentaires
Réponse acceptée
KSSV
le 3 Oct 2021
t = 0:0.5:10 ;
A = @(t) [t^2/2 (1+t)/2 t^2 ; 3 0 t^3-1 ; 4 0 0] ;
nt = length(t) ;
V = zeros(3,3,nt) ;
D = zeros(3,1,nt) ;
for i = 1:nt
[v,d] = eig(A(t(i))) ;
V(:,:,i) = v ;
D(:,1,i) = diag(d) ;
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!