ODE45 for Equations of Motion
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi, I am hoping someone can help me with the following issue. I have tried this problem multiple times and still can't seem to write the correct code (I am new to MATLAB).
The following three equations of motion are to be solved:
theta dot out is the input velocity into the system, it is time dependant and is characterised by the equation:
All other variables are constant (e.g. theta_dot_zero,J1,c1,k1,f (this is not frequency) etc.).
I believe you can use ode45 to solve this however I have had no luck.
Initial conditions can be taken as zero, a timespan of 0-20seconds can be used as an example.
The aim is to then plot velocity, acceleration and displacement graphs for the unknown theta variables of subscript 1,2,n and out.
I hope someone can help with this! I would really appreciate a draft of some code.
Thanks!
댓글 수: 8
Torsten
2023년 3월 22일
편집: Torsten
2023년 3월 22일
Do you see the problem why the integration takes so long and is almost impossible to perform ?
param.vin = 600*(2*pi/60); %% 600 is the input velocity in rpm
param.f_mech = param.vin/(2*pi);
theta_out_dot = @(t)param.vin+(0.02*param.vin*cos(72*pi*param.f_mech*t))+(0.005*param.vin*cos(144*pi*param.f_mech*t));
t=0:0.000001:0.1;
plot(t,theta_out_dot(t))
Shree Charan
2023년 5월 4일
@Sam Butler In the question you mention that "theta_dot_out" is the input velocity into the system and "theta_dot_zero" is a constant.
However in the line
theta_out_dot = param.vin+(0.02*param.vin*cos(72*pi*param.f_mech*t))+(0.005*param.vin*cos(144*pi*param.f_mech*t));
theta_dot_zero is replaced with vin which is the input velocity.
Can you please clarify if theta_out_dot = vin as mentioned in the question or if theta_dot_zero = vin.
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!