MATLAB Answers

1

How to plug in one symbolic equation into another

Asked by R Tarbell on 23 Dec 2016
Latest activity Edited by Rylan Dmello on 27 Dec 2016
If I have a system of differential equations:
(1) d A(t) / dt = 2*A(t)
(2) d B(t) / dt = 3*B(t)
And now, I also have:
(3) C(t) = A(t) + (B(t)^2)
--> I tell Matlab to differentiate C(t):
d C(t) / dt = A'(t) + 2*B(t)*B'(t)
where A'(t) = d A(t) / dt, same for B'(t)
How do I tell Matlab to "plug in" for C'(t) using equations 1 and 2?

  0 Comments

Sign in to comment.

1 Answer

Answer by Rylan Dmello on 27 Dec 2016
Edited by Rylan Dmello on 27 Dec 2016
 Accepted Answer

Hello,
The subs function can be used to "plug in" values for the C'(t) equation.
In this answer, I use the Symbolic Math toolbox syntax from MATLAB R2016b. If you are using a previous version of MATLAB, you may have to adjust the syntax before using this code.
To elaborate further on your example, if A, B, and C are defined as symbolic functions of t:
syms A(t) B(t) C(t)
and eqA, eqB, eqC, and eqDC are the defined symbolic equations:
eqA = diff(A) == 2*A
eqB = diff(B) == 3*B
eqC = C == A + (B*B)
eqDC = diff(eqC)
then the subs function can be used as follows to substitute eqA for dA/dt:
eqDC_subA = subs(eqDC, diff(A), eqA)
and can be used for eqB too:
eqDC_subA_subB = subs(eqDC_subA, diff(B), eqB)
Please refer to the Symbolic Math Toolbox documentation for the subs function for more information:

  0 Comments

Sign in to comment.