The free longitudinal vibrations of a rod are described by a differential equation of the form
(
P
(
x
)
y
′
)
′
+
λ
P
(
x
)
y
(
x
)
=
0
{(P(x)y\prime)^{\prime}+\lambda P(x)y(x)=0}
, where
P
(
x
)
{P(x)}
is the cross section area at point x and λ is an eigenvalue parameter. In this paper, first we discretize this differential equation by using the finite difference method to obtain a matrix eigenvalue problem of the form
𝐀
Y
=
Λ
𝐁
Y
{\mathbf{A}Y=\Lambda\mathbf{B}Y}
, where
𝐀
{\mathbf{A}}
and
𝐁
{\mathbf{B}}
are Jacobi and diagonal matrices dependent to cross section
P
(
x
)
{P(x)}
, respectively. Then we estimate the eigenvalues of the rod equation by correcting the eigenvalues of the resulting matrix eigenvalue problem. We give a method based on a correction idea to construct the cross section
P
(
x
)
{P(x)}
by solving an inverse matrix eigenvalue problem. We give some numerical examples to illustrate the efficiency of the proposed method. The results show that the convergence order of the method is
O
(
h
2
)
{O(h^{2})}
.