MATLAB Orthonormalization using Matlab

I'm using matlab's [V,D]=eig(A,B) function to find the eigenvectors and eigenvalues given two full matrices of A and B.

I know the eigenvectors that I get are not orthonormalized, so how do I do this?

Let's say I'm solving a simple Sturm-Liouville problem like $$\phi''(x)}+\lambda\sigma(x)\phi(x) = 0$$ where $$\sigma(x) = 1 - x^{2}$$.

The general solution that I have by formulae is

$$\phi_{n}(x)\cong\frac{1}{\sigma^{1/4}}sin[\lambda_{n}^{1/2}\int\sigma(s)^{1/2}ds], \lambda_{n}\cong\frac{(n\pi)^{2}}{(\int\sigma(s)^{1/2}ds)^{2})}$$

When I compare the graph of the eigenfunction from my formula to the numerical eigenfunction I got, they are quite similar except it looks like it is missing some weighting function.

Related Math Software Workshop News on Phys.org

"Orthonormalization using Matlab"

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving