how can I use parameter instead of equation in dsolve

3 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.

Categories

Find more on Mathematics in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!