solve 3 degree of freedom vibrational problem without using numerical integration like ode solvers
Show older comments
i have a situation here where i need to plot the displacements for a simple 3 dof spring-mass system (no damping) with initial values without using ode solver. i tried but couldn't find solution for this....help me get the code for this problem... m=[1 0 0;0 1 0;0 0 1], k=[3 -2 0;-2 3 -1;0 -1 2], initial conditions are x1(0)=0.1, x2(0)=0.1, x3(0)=-0.2 Dx1(0)=0, Dx2(0)=0, Dx3(0)=0,time from zero to 10 sec. equation of motion is m*D2x+k*x=0 ,where x is 3*1 matrix..... can you please help me with the coding from beginning
3 Comments
Torsten
on 16 Feb 2015
help bvp4c
Best wishes
Torsten.
Torsten
on 17 Feb 2015
What is k ? A diagonal (3x3) matrix ?
Best wishes
Torsten.
Torsten
on 17 Feb 2015
Sorry, I just saw k in your first post. The fact that k is not diagonal makes things more complicated. Try whether MATLAB's "dsolve" can supply an analytical solution.
If not, you will have to use numerical Integrators (bvp4c in this case).
Best wishes
Torsten.
Answers (1)
Roger Stafford
on 18 Feb 2015
0 votes
I will give only a partial answer here and leave much of the work to you, Eswar.
It is known in the theory of ordinary differential equations that the solution to equations of the kind you have described consist of linear combinations of functions of the kind exp(w*t) where t is the independent variable and where the constant w may be complex-valued. In particular, for your second degree equations involving three dependent variables, the general solution would be a combination of six such functions, the particular combination being determined by initial conditions.
For that reason it is possible to solve such equations without the use of matlab's ODE-type numerical solution. If you substitute such linear combinations into your differential equations, you will see that the w values must be the plus and minus square roots of the three eigenvalues of the matrix -k, and the corresponding eigenvectors will give the relative values for the three variables x1, x2, and x3 for each exponential term. For your -k, the three eigenvalues are each negative, so the square roots are pure imaginary, and the solutions are therefore entirely oscillatory, consisting of sines and cosines. The conditions that all three initial derivatives be zero eliminates the sine possibilities, so each x is a linear combination of three cosine functions. The three initial values you have given x1(0), x2(0), and x3(0), in combination with the above eigenvectors, will then uniquely determine the particular linear combination that is a solution for the three variables.
Admittedly, it is undoubtedly more work to use the above method, as opposed to using ODE functions, but it does have the advantage of greater precision over long periods of time, since the discrete step-by-step approximations such as those of the Runga-Kutta methods are thereby avoided. The only inaccuracies would be due to the initial eigenvalue/eigenvector computation and determining linear coefficients from initial conditions.
Categories
Find more on Programming in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!