区分的に定義した関数を評価しようとしています。ある変数に関してそれを統合してから、別の変数に関して導関数を取る必要があります(変数は独立しています)。しかし、私が関数を定義している方法で何かが原因で、数学がエラーをスローしたり、無限に評価したりしています。微分関数は積分関数の出力の形式が好きではないと思います。逆の場合は、ステップの順序を逆にするのに疲れました。被積分関数は手動で分析するものではないため、一方の出力をもう一方の出力にパイプする必要があります。誰かが何が悪いのか教えてもらえますか?
\[Theta] = 30 Degree;
d = 50.8*10^-3 ;
reo = (150/2)*10^-3;
rei = ((reo/Tan[\[Theta]]) -
d) Tan[\[Theta]]
B = 24.4*10^-3;
\[CapitalGamma] = 10*10^-3;
l = .2*10^-3;
\[CurlyPhi] = 20 Degree;
Pe = 101325;
Ps = 1.1* Pe ;
\[Gamma] = (\[CurlyPhi]*Sin[\[Theta]])/(B*\[CapitalGamma]^3);
Pd[h_] :=
Sqrt[((Ps^2 + Pe^2*\[Gamma]*h^3*(l + h) +
Log[rei/reo])/(1 + \[Gamma]*h^3*(l + h) + Log[rei/reo]))]
rd = Sqrt[reo*rei]
P [r_, h_] :=
Piecewise[{{Sqrt[
Pd[h]^2 + .5*(Pe^2 - Pd[h]^2)*Log[rei/reo]*Log[rd/r]],
r > rd}, {Sqrt[
Pd[h]^2 + .5*(Pe^2 - Pd[h]^2)*Log[rei/reo]*Log[r/rd]], r < rd}}];
W[h_] := Integrate[2*Pi*r*P[r, h]/9.8, {r, rei, reo}]
S[h_] := D[W[h], h]
Plot[{P[r, 10*10^-6], P[r, 8*10^-6], P[r, 6*10^-6], P[r, 4*10^-6],
P[r, 2*10^-6], P[r, 1*10^-6]}, {r, rei, reo}]
Plot[W[h], {h, 1*10^-6, 10*10^-6}]
Plot[S[h], {h, 1*10^-6, 10*10^-6}]