Skip to main content
1-Visitor
September 21, 2015
Solved

Backsolving springs with known lamdas - 4x4 Matrix Determinant

  • September 21, 2015
  • 1 reply
  • 2945 views

I have a mass-spring system.  I am trying to back-solve four springs (provided in the attached file).

There are four masses at which summation of forces are performed and A matrices are obtained.  The attached file shows them in the (Lamda*I - A) format. These springs and masses are configured in four different ways and their first mode natural frequencies are known.

Therefore, in my mind, I should be able to use Given/Find in order to find the unknown springs with four equations while setting the determinants of the four matrices to zero.

The solver doesn't converge.

What is the problem here?  Can this be done?  If not, how else?

Your help will be greatly appreciated.

Thanks,

Eric

Best answer by StuartBruff

Eric Hong wrote:

I have a mass-spring system.  I am trying to back-solve four springs (provided in the attached file).

There are four masses at which summation of forces are performed and A matrices are obtained.  The attached file shows them in the (Lamda*I - A) format. These springs and masses are configured in four different ways and their first mode natural frequencies are known.

Therefore, in my mind, I should be able to use Given/Find in order to find the unknown springs with four equations while setting the determinants of the four matrices to zero.

The solver doesn't converge.

What is the problem here?  Can this be done?  If not, how else?

I've just had a quick look at it and there are one definite problem and one potential problem.

The definite problem is that |..| is set to mean the Absolute Value not determinant.

Correcting this (right-click, select Determinant) still won't let Find live up to its name.  Applying the cond functions seems to indicate that your matrices aren't well-conditioned, plus the determinants are quite large.  This is usually a sign that numerical solvers (Mathcad, Matlab, etc) will have problems because the matrices are very sensitive to small changes in variables.

Using Minerr instead of Find gives a solution, but only two of the determinants equal zero; the other two are still quite large.   I think you will need to examine your numbers to see if you can scale the data to make the problem more tractable numerically.

Stuart

1 reply

23-Emerald V
September 21, 2015

Eric Hong wrote:

I have a mass-spring system.  I am trying to back-solve four springs (provided in the attached file).

There are four masses at which summation of forces are performed and A matrices are obtained.  The attached file shows them in the (Lamda*I - A) format. These springs and masses are configured in four different ways and their first mode natural frequencies are known.

Therefore, in my mind, I should be able to use Given/Find in order to find the unknown springs with four equations while setting the determinants of the four matrices to zero.

The solver doesn't converge.

What is the problem here?  Can this be done?  If not, how else?

I've just had a quick look at it and there are one definite problem and one potential problem.

The definite problem is that |..| is set to mean the Absolute Value not determinant.

Correcting this (right-click, select Determinant) still won't let Find live up to its name.  Applying the cond functions seems to indicate that your matrices aren't well-conditioned, plus the determinants are quite large.  This is usually a sign that numerical solvers (Mathcad, Matlab, etc) will have problems because the matrices are very sensitive to small changes in variables.

Using Minerr instead of Find gives a solution, but only two of the determinants equal zero; the other two are still quite large.   I think you will need to examine your numbers to see if you can scale the data to make the problem more tractable numerically.

Stuart

EricHong1-VisitorAuthor
1-Visitor
September 21, 2015

Thank you.  Two things you pointed out are the causes: absolute value instead of determinant and wrong equations.

I am getting now reasonable answers (still getting negative numbers which just indicates I have a sign error somewhere).

Thank you again,

Eric

23-Emerald V
September 21, 2015

Eric Hong wrote:

Thank you.  Two things you pointed out are the causes: absolute value instead of determinant and wrong equations.

I am getting now reasonable answers (still getting negative numbers which just indicates I have a sign error somewhere).

Thank you again,

Eric

No problem, Eric.  I've learned the hard way to check whether it's a determinant or abs value!

Stuart