solving a differential equation

1 view (last 30 days)
Hi everyone,
I have an equation of the form:
C*dx=-G*x+B or G*x + C*dx - B = 0
How can I solve this?
Dimensions of each matrix are
B = 2000 x 1; C = 2000 x 2000; G = 2000 x 2000; we have 5000 timesteps
also the values of certain rows of the matrix x change with an input waveform at each time step...these rows represent an input voltage
Thanks
Feras

Accepted Answer

John BG
John BG on 30 Jan 2016
G*x + C*dx - B = 0 same as C*x'+G*x-B=0
launch MuPAD
mphandle=mupad
Symbolic toolbox needed.
MuPAD solves your ODE getting the set of functions that satisfy it, regardless of the size of the arrays.
this the general form of the function that satisfies the ODE your proposed. C4 and C5 are additional constants that define a set of functions all complying with your ODE. If you had initial or/and boundary conditions they might help reduce the solutions.
John
  1 Comment
Feras Al-Saab
Feras Al-Saab on 30 Jan 2016
Hi John. thank you. I have initial conditions of x(0) is equal to 0.

Sign in to comment.

More Answers (1)

John BG
John BG on 9 Feb 2016
G!=0 means the set of functions that MuPAD resturned is B/G-C4/G*exp(-G*t/C)
x(0)=0 : B/G-C4/G*exp(0)=0 C4=B
then solution to your ODE is: B/G-B/G*exp(-G/C*t)
is is a capacitor discharge?
If you find this answer of any help solving your question, would you please click on the thumbs-up vote link above? thanks in advance
John

Products

Community Treasure Hunt

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

Start Hunting!