how can I use parameter instead of equation in dsolve

5 views (last 30 days)
Hi
I want to solve an ordinary differential symbolic equation with dsolve. But I want to save my equation in a parameter and use this parameter in dsolve. My codes are coming below:
clear all
syms a x
l=a*x;
dsolve('Dx=l')
these codes don't work. What should I do?
Thanks a lot

Accepted Answer

Kai Gehrs
Kai Gehrs on 27 Apr 2012
Hi Frank,
you can try something like
clear all; syms a x; l=a*x; dsolve(['Dx= ' char(l)])
The point is that variables/parameters inside a string cannot be "evaluated". But as the example suggests you can use the command CHAR to convert a symbolic expression to a character string and use the brackets to concatenate strings appropriately.
Hope this helps and best regards,
-- Kai

More Answers (1)

Walter Roberson
Walter Roberson on 27 Apr 2012
dsolve( subs(sym('Dx=l')) )
  4 Comments
frank
frank on 28 Apr 2012
When I use this command, MATLAB returns the error:
Warning: Empty equation
> In dsolve at 109
In chechdsolve2 at 3
ans =
[ empty sym ]
Thanks
Luan Trinh
Luan Trinh on 26 Nov 2014
Hi everyone,
I want to know how to solve some ODEs like this: clear all; syms a x; l=a*x; dsolve(['D2x*' char(l)+ 'Dx*x' == 0])
Could you help me?

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!