<< Chapter < Page Chapter >> Page >

The least squares approach to calculating the actual values of k fits the experimental data best. We run the calculations described in "An Inverse Problem" three times, using the values of k from each of these approaches as the actual value once. The error from each of these methods is recorded in [link] .

Error in Methods of Computing Spring Constants
Method % Error
Least Squares 235.4
Total Least Squares 237.9
Normal Equations 246.6

Mathematically, the total least squares approach should be the most accurate (again, see "Total Least Squares" for a description of this approach), but the least squares approach gives the least error. The computations for total least squares and the normal equations both require subtracting off the first entry from the displacement and force vector from the rest of the vectors, so these two computations work with one less data point. This may result in less accurate results, so we will use the values of k that we compute with the least squares approach when we need the “measured” values of k , such as when we compute percent error.

Throughout this report, we will refer to the “percent error” in the results of a particular method. To compute this, we consider first the percent error in each spring, ( k i , a c t u a l - k i , m e a s u r e d ) / k i , a c t u a l , arrange these into a vector, take the norm of the error, and multiply by 100. For reference, if the result has 100% error in each spring, the percent error of the entire result will be 400%.

Linear algebra approaches

Conditioning

The condition number, C , of a matrix A is the ratio of the largest singular value to the smallest singular value. If C = , A is singular; the closer C is to one, the better conditioned A is. In a linear equation of the form A x = b , C gives a bound for how sensitive x is to small changes in b . If C is large, then even a small perturbation in b can produce a large change in x .

Our equation, B k = f , has some error in f , so we are interested in the condition number of B . The smaller C of B is, the more confident we can be in our results.

Of the sixteen springs in the network, the twelve along the horizontal and vertical are important for holding the structure in place. The four diagonal springs can easily be switched back and forth from π / 4 to 3 π / 4 without significantly changing the stability of the network. Switching these four back and forth creates 16 different networks. We would like to find the network with the lowest condition number and use that for our experiments.

16 Possible Networks

Because B = A T d i a g A x , B depends on the displacements x and so varies with each trial. Because we cannot compute it directly, we run a simulation that, given the measured spring constants, generates random forces of the correct size in the correct locations, finds the displacement of each node, then calculates B . We computed the average condition number of B over several thousand trials for each network.

However, there is a slight catch. For networks g, h, o, and p, B has a nullspace. This corresponds to rigid-body motion: that is, some of the nodes can move without the rest of the network being displaced. We find that all of the networks where the Spring 2 and Spring 12 are connected at the center node have a nullspace corresponding to the free motion of these two nodes. We correct this problem by adding a row to the bottom of B (a 1 in the column corresponding to spring 2 and a - 1 in the column corresponding to spring 12) and a 0 to the bottom of f that forces these two springs to have the same spring constant. [link] presents the results from these simulations.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, The art of the pfug. OpenStax CNX. Jun 05, 2013 Download for free at http://cnx.org/content/col10523/1.34
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'The art of the pfug' conversation and receive update notifications?

Ask