How can numerically compute eigenvalues of an ordinary differential equation in MATLAB?

42 ビュー (過去 30 日間)
Hello,
I need to compute (numerically) the eigenvalues (L) of this singular ODE,
, subject to
Is it possible to use the Matlab function bvp4c? Or another?
Best regards,
Lemuel
  2 件のコメント
Torsten
Torsten 2019 年 2 月 11 日
https://math.stackexchange.com/questions/2507694/what-numerical-techniques-are-used-to-find-eigenfunctions-and-eigenvalues-of-a-d
Lemuel Carlos Ramos Arzola
Lemuel Carlos Ramos Arzola 2019 年 2 月 12 日
The approach discussed in the link is quite weak and inefficient. I need a robust approach.

サインインしてコメントする。

採用された回答

Lemuel Carlos Ramos Arzola
Lemuel Carlos Ramos Arzola 2019 年 2 月 13 日
Hello,
Thanks for the answers.
I found the same problem here:
and the answer completely satisfies me
  4 件のコメント
Torsten
Torsten 2019 年 2 月 14 日
But as far as I see, you won't get an eigenvalue for an arbitrary choice of the third boundary condition.
E.g. if you have the ODE
y''+L*y = 0
y(0)=y(2*pi)=0,
the eigenvalues and eigenfunctions are L_n = (n/2)^2 and y_n(x) = sin(n*x/2) (n=1,2,3,...).
So if you choose y'(0)=1 as third boundary condition at x=0, e.g., every function y(x)=a*sin(sqrt(L)*x) with a*sqrt(L)=1 is a solution of the ODE, not only those for which a=2/n and L=(n/2)^2 (n=1,2,3.,,,).
Lemuel Carlos Ramos Arzola
Lemuel Carlos Ramos Arzola 2019 年 2 月 15 日
Dear Torsten,
Thanks for all your comments.
The singular ODE (the original in this question) arises in the context of heat convection in tubes. This problem is know as Graetz's problem.
Recently I "found" that a third boundary condition exist, namely, y(0)=1. With this "new" condition, the MATLAB function bvp4c can also find unknown parameters in the ODE, in our case, L.
I only need to change the initial guess for the unknown parameter L, not the third boundary condition as I said wrongly in the previous comment .
Following the algorithm shown in this link, and changing the initial guess for L, I found the eigenvalues that I needed.
Although I had some difficulties with the singularity at x = 0.

サインインしてコメントする。

その他の回答 (2 件)

Bjorn Gustavsson
Bjorn Gustavsson 2019 年 2 月 11 日
Have a look at what you can do with chebfun. It seem to cover eigenvalue/eigenfunctions of ODEs in some detail:
HTH

Torsten
Torsten 2019 年 2 月 11 日
So you are left with the problem to find "a" such that
L_(0.25*(sqrt(a)-2)) (x) = 0 for x=sqrt(a).
  2 件のコメント
Lemuel Carlos Ramos Arzola
Lemuel Carlos Ramos Arzola 2019 年 2 月 12 日
Hi Torsten,
The link does not work.
Best regards,
Lemuel
Torsten
Torsten 2019 年 2 月 12 日
For me, the link works.
Don't just click, but copy.
Best wishes
Torsten.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by