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

5 views (last 30 days)
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
Dyuman Joshi
Dyuman Joshi on 25 Nov 2022
Edited: Dyuman Joshi on 25 Nov 2022
Automatically? Meaning with a code?
You can use collect. Other than that, I think it's highly unlikely you can do it 'automatically'
Rahul Jangid
Rahul Jangid on 28 Nov 2022
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)

Mann Baidi
Mann Baidi on 10 Sep 2023
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!

Walter Roberson
Walter Roberson on 10 Sep 2023
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

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!