How to solve 3 equations dependent each other?
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello. How to code this situation?
In this situation i need to calculate all angular velocities from time 0s to time 5400s with increase by 0.1s and graph them.
I have all the initial values:
wxi = 0.0065
wyi = 0.0066
wzi = 0.0067
And constant values:
NT = 3.6 * 10^-10
Jx = 2.1 * 10^-3
Jy = 2.0 * 10^-3
Jz = 1.9 * 10^-3
Actually i thought it is going to be easy but when i write the code for wx, i realized that wx is increasing with time but wz and wy in the equation are constant values. Which kind of loop should i use? Thanks for the answers!
댓글 수: 5
채택된 답변
Bruno Luong
2018년 11월 10일
Actually i thought it is going to be easy but when i write the code for wx, i realized that wx is increasing with time but wz and wy in the equation are constant values.
Just copy the value in 3 different variables, then do the calculation.
댓글 수: 7
Walter Roberson
2018년 11월 11일
delta_t = 0.1;
time_vals = 0 : delta_t : 5400;
N_times = length(time_vals);
n = 63;
Wx = zeros(1, N_times);
Wy = zeros(1, N_times);
Wz = zeros(1, N_times);
Wx(1) = 0.0002 + 0.0001 * n; % 0.0065
Wy(1) = 0.0003 + 0.0001 * n; %0.0066
Wz(1) = 0.0004 + 0.0001 * n; %0.0067
% The initial moments of inertia of the satellite ( m^4 ):
Jx = 2.1e-03;
Jy = 2e-03;
Jz = 1.9e-03;
% The disturbance torque acting on the satellite ( N.m ):
NT = 3.6e-10;
for i = 1 : N_times - 1
Wx(i+1) = Wx(i) + delta_t / Jx * (Wz(i) * Wy(i) + NT)*(Jy - Jz);
Wy(i+1) = Wy(i) + delta_t / Jy * (Wx(i) * Wz(i) + NT)*(Jz - Jx);
Wz(i+1) = Wz(i) + delta_t / Jz * (Wx(i) * Wy(i) + NT)*(Jx - Jy);
end
plot(time_vals, Wx);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Reference Applications에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!