I want to convert few equations into matrix form >>>>>>

Can some one help me to convert those equations into matrix form
Where the form of matrix is as A*X = B where X = [diff(x1(t), t, t); diff(x2(t), t, t); x1d; x2d; x1; x2]
the equations are as shown below:
m1*diff(x1(t), t, t) + c1*x1d + k1*x1 + (c2*(2*x1d - 2*x2d))/2 + (k2*(2*x1 - 2*x2))/2 == 0
m2*diff(x2(t), t, t) - (c2*(2*x1d - 2*x2d))/2 - (k2*(2*x1 - 2*x2))/2 == 0

4 Comments

It's quite simple, you just have to separate the terms and get the coefficients.
1st eq
A=[m1 0 c1+c2 -c2 k1+k2 -k2], B=0;
2nd eq
A=[0 m2 -c2 c2 -k2 k2], B=0;
hi thanks for replying
but actually i want to do this automatically so that i can make three different matrices [mass], [Damping] & [Stiffness]
for this i need to first extract coffecient matrix automatically
my actual system of equation is a bit complex and there are 14 variables .
it will be a great if u can help me in this .
Automatically? Meaning with a code?
You can use collect. Other than that, I think it's highly unlikely you can do it 'automatically'
yeah i want to do it using code bcz the actual problem i am solving have very complex and around 12 variables.

Sign in to comment.

Answers (2)

Hi Rahul,
I understand you would like to convert variable equation into a matrix form. Currently, MathWorks don’t have a function for this. You would have to make the matrix manually. For more information, you can refer to the following answer.
Thanks!
I recommend that you examine the work-flow of the first example of odeFunction as that shows converting orders and gathering terms and building mass matrix, and generating anonymous functions for use with routines such as ode45()

Categories

Asked:

on 24 Nov 2022

Answered:

on 10 Sep 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!