Rotation Matrix with euler angles
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Rashiqah Shahzad
il 19 Dic 2018
Commentato: Rashiqah Shahzad
il 20 Dic 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 Commenti
Risposta accettata
James Tursa
il 20 Dic 2018
Modificato: James Tursa
il 20 Dic 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
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Fortran with MATLAB in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!