フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

How to solve system of 2nd order differential equations using ode23 or ode45.

1 回表示 (過去 30 日間)
Jesse Crotts
Jesse Crotts 2018 年 12 月 9 日
閉鎖済み: madhan ravi 2018 年 12 月 9 日
I'm trying to use ode23 or ode45 to solve a system of 2nd order differential equations that look like this:
[M]*xdotdot+[K]*x=[Q]
where M and K are 10x10 matrices and Q is a 10x1 matrix.
I would appreciate any help with it.
Here is the same problem I have been working on with 2x2 matrices but cant get it to work either:
clc; clear
figure
time = (0:.001:22.5)';
M = [1 2; 3 4];
K = [5 6; 7 8];
x0 = [0;0;0;0]; %[position,velocity]
[t1,x1,x2,x3,x4]=ode23(@(t1,x) trick(t1,x,M,K), time, x0);
plot(t1,x(:,1));
xlabel('Time(sec)');
ylabel('Displacement');
title('Stepped Response(Underdamped)');
This function calls trick:
%2x2 sys
function f = trick(t,x,M,K)
f = zeros(4,1);
f(1) = x(2);
f(2) = x(3);
MinvnegK = -inv(M)*K;
delta = MinvnegK*[x(4) x(5)]';
f(3) = delta(1);
f(4) = delta(2);

回答 (0 件)

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by