Rotation Matrix with euler angles
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
James Tursa
2018년 12월 20일
편집: James Tursa
2018년 12월 20일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Fortran with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!