Analytical method to solve a system of ODEs

Click For Summary
SUMMARY

The discussion focuses on solving a system of fourth-order ordinary differential equations (ODEs) represented in matrix form as {Y'} = [A]{Y}. The user inquires about the accuracy of the eigenvalue method for solving this system, while also checking the condition of matrix [A] using the cond() function in MATLAB, which yielded condition numbers around 30 to 1000. The eigenvectors were confirmed to be linearly independent using the rref() function. Participants recommend validating the analytic solution by comparing it with a stable numerical solution, such as those obtained through the Runge-Kutta method.

PREREQUISITES
  • Understanding of ordinary differential equations (ODEs)
  • Familiarity with matrix operations and properties
  • Proficiency in MATLAB, specifically using cond() and rref() functions
  • Knowledge of numerical methods for ODEs, particularly Runge-Kutta
NEXT STEPS
  • Explore the properties of eigenvalues and eigenvectors in linear algebra
  • Learn about the Runge-Kutta method for numerical solutions of ODEs
  • Investigate methods for analyzing the stability of numerical solutions
  • Study alternative analytical methods for solving higher-order ODEs
USEFUL FOR

Mathematicians, engineers, and researchers working with systems of ordinary differential equations, particularly those seeking to validate analytical solutions against numerical methods.

BlackTulip
Messages
5
Reaction score
0
Hello All,

I am new to this community but by reviwwing the questions and answers posted in this forum I was encouraged to share my question with you and I hope you can help me.

I have a system of 4th order ordinary differential equations for several functions which I call them:

y_1,y_2, ..., y_n and all of them are single variable functions e.g. y_1 = f(x)

The system looks like:

\left\{y_1', y_1'', y_1''', y_1^{(4)}, y_2', y_2'', y_2''', y_2^{(4)}, ... y_n', y_n'', y_n''', y_n^{(4)}\right\}^{T}=\left[A\right] \left\{y_1, y_1', y_1'', y_1''', y_2, y_2', y_2'', y_2''', ... y_n, y_n', y_n'', y_n'''\right\}^{T}

Where \left[A\right] is the coefficient matrix.

In short form this equation can be written as:
\left\{Y'\right\} = \left[A\right] \left\{Y\right\}

Now, my question is that if the eigenvalue method is accurate enough to solve this system of equation or I should use a different method to solve such system of ODEs.

I am waiting for your valuable comments.
 
Physics news on Phys.org
Hey BlackTulip and welcome to the forums.

Have you checked the properties of A? Is it ill-conditioned?

If it is ill-conditioned then it means that the product of the eigen-values for one are close to zero if I recall correctly (and you should verify all things for yourself).

The other thing I guess to check is whether the set of eigenvectors forms a basis.

Have you come across how to check the condition of a matrix and how to use that for getting solutions to a variety of linear systems problems?
 
Thank you Chiro for your comments.

I used cond() function in Matlab to check if A is ill-conditioned. The condition number of A is not close to 1. Normally it is around 30. But in some cases it is around 1000.

I checked the product of the eigenvalues of A and in most cases it is not close to zero.

To check if the eigenvectors form a basis I used rref() function and in all cases it gave me identity matrix which implies that the eigenvectors are all linearly independents.


Taking all these into account do you think the method that I use to solve the system of ODE is an appropriate one?

I am curious to know if any of the cases that you mentioned occur what would be the best method to solve the system of ODEs analytically.

Thanks
 
BlackTulip said:
Thank you Chiro for your comments.

I used cond() function in Matlab to check if A is ill-conditioned. The condition number of A is not close to 1. Normally it is around 30. But in some cases it is around 1000.

I checked the product of the eigenvalues of A and in most cases it is not close to zero.

To check if the eigenvectors form a basis I used rref() function and in all cases it gave me identity matrix which implies that the eigenvectors are all linearly independents.

Taking all these into account do you think the method that I use to solve the system of ODE is an appropriate one?

I am curious to know if any of the cases that you mentioned occur what would be the best method to solve the system of ODEs analytically.

Thanks

The above sounds good.

There is one thing that is always good for checking whether a solution (i.e. analytic) is good: you compare it against a stable numerical solution.

If you are a bit unsure about whether an analytic solution is valid, it's always a good idea to run a numerical solution using something like Runge-Kutta or some other valid scheme and then see how the two compare.

Any kind of thing like this is always useful and if you ever get in a situation where you are unsure and need some verification, this is always a good thing to think about.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
4K
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 23 ·
Replies
23
Views
2K
Replies
10
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
1K