u(r) という r に依存するシンボリック関数があります。u の微分方程式からこの関数を取得します。
それ以外の場合、u と u 導関数の関数である 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 導関数を計算できないようです。
ここにスクリプトがあります
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 が含まれています。
ご協力ありがとうございました、
ニダル・コクラド