-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFormMatrixB.m
More file actions
executable file
·28 lines (25 loc) · 862 Bytes
/
FormMatrixB.m
File metadata and controls
executable file
·28 lines (25 loc) · 862 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/local/bin/octave
function [B] = FormMatrixB(A)
% FormMatrixB generates a 4x4 matrix from a 3x3 matrix A
% IN:
% A: 3x3 matrix
% OUT:
% B: 4x4 matrix
% Usage:
% B = FormMatrix(A)
% get each element in A
a11 = A(1,1); a12 = A(1,2); a13 = A(1,3);
a21 = A(2,1); a22 = A(2,2); a23 = A(2,3);
a31 = A(3,1); a32 = A(3,2); a33 = A(3,3);
% direct but complex
%B = [a11+a22+a33, a23-a32, a31-a13, a12-a21; ...
% a23-a32, a11-a22-a33, a12+a21, a13+a31; ...
% a31-a13, a12+a21, a22-a11-a33, a23+a32; ...
% a12-a21, a13+a31, a23+a32, a33-a11-a22];
% use the property of symmetric matrix
B = [a11+a22+a33, a23-a32, a31-a13, a12-a21; ...
0.0, a11-a22-a33, a12+a21, a13+a31; ...
0.0, 0.0, a22-a11-a33, a23+a32; ...
0.0, 0.0, 0.0, a33-a11-a22];
B = triu(B,0) + triu(B,1)';
end