how can I use parameter instead of equation in dsolve

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

 採用された回答

Kai Gehrs
Kai Gehrs 2012 年 4 月 27 日

0 投票

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

1 件のコメント

frank
frank 2012 年 4 月 28 日
It works.
Thank you so much

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2012 年 4 月 27 日

1 投票

dsolve( subs(sym('Dx=l')) )

4 件のコメント

Andrei Bobrov
Andrei Bobrov 2012 年 4 月 27 日
Hi Walter!
This is for MATLAB R2012a only?
Walter Roberson
Walter Roberson 2012 年 4 月 27 日
Shouldn't be. It is just using a straight-forwards subs().
frank
frank 2012 年 4 月 28 日
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 2014 年 11 月 26 日
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?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

タグ

質問済み:

2012 年 4 月 27 日

コメント済み:

2014 年 11 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by