필터 지우기
필터 지우기

Solving a complex system of differential equations

조회 수: 13 (최근 30일)
Ali Almakhmari
Ali Almakhmari 2023년 11월 15일
댓글: Torsten 2023년 11월 15일
I have a this differential equation system: , where F is a function of time (t). But I am not sure whats the easiest way to solve it in MATLAB. Lets say for example:
M = [1,0.8;0.8,7]
K = [5,0;0,10]
D = [0.15,0;0,0.35]
F = [5*exp(i*5*t); 3.65*exp(i*5*t)]
q = [X; Y]
And we want to solve for q, which is X and Y.

채택된 답변

Torsten
Torsten 2023년 11월 15일
편집: Torsten 2023년 11월 15일
%q(1) = X, q(2) = Y, q(3) = Xdot, q(4) = Ydot
M = [1,0.8;0.8,7];
K = [5,0;0,10];
D = [0.15,0;0,0.35];
F = @(t)[5*exp(i*5*t); 3.65*exp(i*5*t)] ;
tspan = [0 1];
q0 = [0 1 1 0].';
fun = @(t,q)[[q(3);q(4)];inv(M)*(F(t)-(1i*D+K)*[q(1);q(2)])];
[T,Q] = ode45(fun,tspan,q0);
figure(1)
hold on
plot(T,real(Q(:,1)))
plot(T,imag(Q(:,1)))
hold off
figure(2)
hold on
plot(T,real(Q(:,2)))
plot(T,imag(Q(:,2)))
hold off
  댓글 수: 2
Ali Almakhmari
Ali Almakhmari 2023년 11월 15일
Is the first plot for q(1) and q(2) or is it for q(3) and q(4)? Because the definition of fun makes me think its q(3) and q(4)
Torsten
Torsten 2023년 11월 15일
The first plot is for the real and imaginary part of q(1) = X, the second plot is for the real and imaginary part of q(2) = Y.
q(3) and q(4) are Xdot and Ydot, respectively (as written in the headline of the code).

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by