Matlab не заменяет символическую функцию в другой символической функции

У меня есть символическая функция, зависящая от r, которая называется u (r). Я получаю эту функцию из дифференциального уравнения в и.

В противном случае у меня есть другая символическая функция с именем sigma_r, которая является функцией от вас, а также от производных от вас.

Когда я показываю сигму, она появляется как функция от 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(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.

Спасибо за помощь,

Нидаль Кохрад

0 ответов

Другие вопросы по тегам