Matrix indexing collecting accurate results
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Nikolaos Zafirakis
el 30 de Abr. de 2019
Comentada: KSSV
el 30 de Abr. de 2019
I have a for loop and some challenging mathematical equations my goal is to get a 3x3 matrix where A is preferable I would like to make A1 A2 cell matrices and collect the values leading to an easy final equation. Thanks in advance for anyone that helps me out!
for i = 1:100;
v2(1:3,i) = [cross(v1(1:3,i),(Sb(1:3,i)))/norm(cross(v1(1:3,i),(Sb(1:3,i))))]; % Works 3x1
w2(1:3,i) = [cross(w1(1:3,i),(Bb(1:3,i)))/norm(cross(w1(1:3,i),(Bb(1:3,i))))]; % Works 3x1
v3(1:3,i) = cross(v1(1:3,i),v2(1:3,i)); % Works 3x1
w3(1:3,i) = cross(w1(1:3,i),w2(1:3,i)); % Works 3x1
A1 = transpose([v1(1:3,i),v2(1:3,i),v3(1:3,i)]); % Works but donsn't store values 3x3
A2 = [w1(1:3,i),w2(1:3,i),w3(1:3,i)]; % Works but donsn't store values 3x3
A = mtimes(A1,A2); % Not working 3x3
end
0 comentarios
Respuesta aceptada
KSSV
el 30 de Abr. de 2019
Editada: KSSV
el 30 de Abr. de 2019
A1 = zeros(3,3,100) ;
A2 = zeros(3,3,100) ;
A = zeros(3,3,100) ;
for i = 1:100;
v2(1:3,i) = [cross(v1(1:3,i),(Sb(1:3,i)))/norm(cross(v1(1:3,i),(Sb(1:3,i))))]; % Works 3x1
w2(1:3,i) = [cross(w1(1:3,i),(Bb(1:3,i)))/norm(cross(w1(1:3,i),(Bb(1:3,i))))]; % Works 3x1
v3(1:3,i) = cross(v1(1:3,i),v2(1:3,i)); % Works 3x1
w3(1:3,i) = cross(w1(1:3,i),w2(1:3,i)); % Works 3x1
A1(:,:,i) = transpose([v1(1:3,i),v2(1:3,i),v3(1:3,i)]); % Works but donsn't store values 3x3
A2(:,:,i) = [w1(1:3,i),w2(1:3,i),w3(1:3,i)]; % Works but donsn't store values 3x3
A(:,:,i) = mtimes(A1,A2); % Not working 3x3
end
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!