MATLAB Answers

0

Matrix indexing collecting accurate results

Asked by Nikolaos Zafirakis on 30 Apr 2019
Latest activity Commented on by KSSV
on 30 Apr 2019
Accepted Answer by KSSV
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 Comments

Sign in to comment.

1 Answer

Answer by KSSV
on 30 Apr 2019
Edited by KSSV
on 30 Apr 2019
 Accepted Answer

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 Comments

Thank you for your response, A1 and A2 work perfectly on the other hand A is not working still would be helpful if you could provide some solution to this thanks in advance!
KSSV
on 30 Apr 2019
Edited

Sign in to comment.