Skip to main content
14-Alexandrite
October 8, 2021
Question

Singular Value Decomposition syntax - use output from svd2() ?

  • October 8, 2021
  • 1 reply
  • 1836 views

To all,

 

I am playing around the 'Singular Value Decomposition' in mcad 15 (function sdv2). Follow the example and all good . Get S, U and V matrices What is the correct syntax to use the data to solve {y}=[A]{f}? see attached I know it’s a dumb question but the obvious syntax f = svd2(H)y does not work !

 

Thanks

1 reply

21-Topaz II
October 9, 2021

You have to consider the fact that matrix A is not square (it is a (4 x 3) matrix) and y is a vector consisting of 4 rows. The product can only be done by considering the transpose of A. The sdv2 function does not exist. For example:

Answer to JXBWk.jpg

JXBWk14-AlexandriteAuthor
14-Alexandrite
October 9, 2021

Thanks for the reply. So what is the point of function svd2()? I am reading some notes on structural dynamic testing and the use of SVD is common because of lack of data (or data incompletness)

If I use the transpose as per your example one does indeed get a f vector (solution) but if you check A.f one does not get the y vector one stared with !

Same with the geninv() function the check A.f does not return the y vector one started with. As far as I can tell they are not even a scale away form each other

 

21-Topaz II
October 9, 2021

The result is different from y because the matrix A is not square.

Answer to JXBWk 2.jpg