Effacer les filtres
Effacer les filtres

Find Eigenvalues of ODE45 Solution MATLAB

78 vues (au cours des 30 derniers jours)
Jonathan Frutschy
Jonathan Frutschy le 9 Avr 2024
Commenté : Jonathan Frutschy le 3 Mai 2024 à 18:27
I have the following non-linear ODE:
I have the following ODE45 solution:
fun = @(t,X)odefun(X,K,C,M,F(t),resSize);
[t_ode,X_answer] = ode45(fun,tspan,X_0);
The input matrices are stiffness K(X), damping C, mass M, and force F. resSize is the total number of masses in the system.
I would like to find the system's eigenvalues using either the Jacobian matrix, transfer function, or any other viable method.
I have tried using:
[vector,lambda,condition_number] = polyeig(K(X_answer),C,M);
This is tricky since my K matrix is a function handle of X. In other words, K=@(X). X represents a displacement vector of each mass in the system (x_1(t),x_2(t),...x_resSize(t)), where resSize is the total number of masses. My X_answer matrix is a double with dimensions of t_ode by resSize, where each row is the displacement vector of each mass in double form. Is there some way to substitute X_answer into my function handle for K so I can use polyeig()? If not, how would I go about finding my system's transfer function or Jacobian matrix so that I can find it's eigenvalues?
  7 commentaires
Sam Chak
Sam Chak le 2 Mai 2024 à 19:31
The input force consists of the sum of a slower wave and a faster wave.
I'm curious about the scientific basis or any journal paper that describes the method of determining the system's resonance by computing the state-dependent eigenvalues at each time step. Is this related to the design of a Tuned Mass Damper for a high-rise building?
Jonathan Frutschy
Jonathan Frutschy le 3 Mai 2024 à 18:27
@Sam Chak This is intended for a classified research project. While I can't divulge the details, a tuned mass damper on a high rise building is a great application!

Connectez-vous pour commenter.

Réponse acceptée

Torsten le 9 Avr 2024
Modifié(e) : Torsten le 9 Avr 2024
Your system reads
z1'= z2
z2' = ( F-(c1+c2)*z2-( ((k1*gamma1+k2*gamma2)*z1^2+k1+k2)*z1+(-k2*gamma2*z1^2-k2)*z3 ) )/m1
z3' = z4
z4' = (-(c2+c3)*z4-( (-k2*gamma2*z3^2-k2)*z1+((k2*gamma2+k3*gamma3)*z3^2+k2+k3)*z3))/m2
Linearize the right hand side by computing the 4x4 Jacobian (with respect to z1 - z4) and compute its eigenvalues in the course of the simulation.

Plus de réponses (0)




Community Treasure Hunt

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

Start Hunting!

Translated by