Rotation Matrix with euler angles
3 views (last 30 days)
Show older comments
Rashiqah Shahzad
on 19 Dec 2018
Commented: Rashiqah Shahzad
on 20 Dec 2018
Das Programm soll Input: 3 euler angles one number sigma (meaning: standard deviation for the assumed measuring accuracy)
The code search with the euler angles the rotationmatrix they are 18
g11 + random number
g21 + random number
g11 + random number
g31 + random number
... g33 + random number
Each of the random numbers should then correspond to an N (0, sigma) -distributed random variable. It is therefore a list of simulated measurements.
6 Comments
Accepted Answer
James Tursa
on 20 Dec 2018
Edited: James Tursa
on 20 Dec 2018
The best I can guess is you are given three Euler angles with a sigma for noise, and you want to output a corresponding rotation matrix. There are two approches you might try. First, you might start with the SpinCalc conversion routine from the FEX by John Fuller
Then you can either add randn(1,3)*sigma noise to the Euler angles prior to calling SpinCalc, or add randn(3,3)*sigma noise to the rotation matrix elements after you call SpinCalc. The first method will leave you with a valid rotation matrix. The second method will leave you with slightly non-valid rotation matrix. I am not sure which method gives you what you want. E.g.,
>> EA = [20 30 40] % Euler angles in degrees
EA =
20 30 40
>> sigma = 2
sigma =
2
>> DCM = SpinCalc('EA123toDCM',EA+randn(1,3)*sigma,1e-10,0) % roll,pitch,yaw
DCM =
0.6930 0.7029 -0.1602
-0.5489 0.6585 0.5148
0.4673 -0.2689 0.8422
>> SpinCalc('DCMtoEA123',DCM,1e-10,0) % try to recover the original
ans =
17.7059 27.8623 38.3810
More Answers (0)
See Also
Categories
Find more on Fortran with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!