MATLAB Answers

Matrix indexing collecting accurate results

1 view (last 30 days)
Nikolaos Zafirakis
Nikolaos Zafirakis on 30 Apr 2019
Commented: KSSV on 30 Apr 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 Comments

Sign in to comment.

Accepted Answer

KSSV
KSSV on 30 Apr 2019
Edited: KSSV on 30 Apr 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 Comments

Nikolaos Zafirakis
Nikolaos Zafirakis on 30 Apr 2019
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!

Sign in to comment.

More Answers (0)