Matlab不会替换另一个符号函数中的符号函数

时间:2015-04-27 17:12:02

标签: matlab substitution symbolic-computation

我有一个依赖于r的符号函数,叫做u(r)。我从美国的微分方程中得到了这个函数。

否则我有另一个名为sigma_r的符号函数,它是u和u衍生函数。

当我显示sigma时,它显示为u(r)和D(u)(r)的函数。

u(r)是r和2积分常数C1和C2的函数。

我想将sigma_r表示为r,C1和C2的函数。

我尝试sigma_r = subs(sigma_r,u(r)),但看起来Matlab无法取代它,也无法计算u衍生物。

以下是脚本

u(r) = dsolve(diff(sigma_r) + (sigma_r - sigma_theta)/r + rho*w^2*r ==0,'IgnoreAnalyticConstraints', true) % In this differential equation sigma_r, sigma_theta are function of u, and Matlab replace their expression as function of u and solve for u. it works well.

sigma_r(r) = subs(sigma_r,u(r))

以下是Matlab在命令窗口中显示的内容:

u(r) =

C1/r^2.2107342132367193698883056640625 + 0.97655737574677914381027221679688*r^3 + C2*r^6.50236464850604534149169921875

sigma_r(r) =

(9671406556917033397649408*((33290247625219093223312621495090757213591748336283774753774513840*u(**0.97655737574677914381027221679688*(C7/r^2.2107342132367193698883056640625 + 0.97655737574677914381027221679688*r^3 + C8*r^6.50236464850604534149169921875)^3 + 

如您所见,sigma_r的表达式仍包含u。

感谢您的帮助,

Nidal Kochrad

0 个答案:

没有答案