アプリ版:「スタンプのみでお礼する」機能のリリースについて

cos((π/2)cosx)のマクローリン展開を楽に計算したいです。z=cos y, y=(π/2)cos x としてdz/dxを使おうとしてみましたが辛いです。有識者の方どうぞよろしくお願いします。

A 回答 (2件)

マトモに微分を繰り返す、というのはしんどそうです。

最終的に欲しいのはn階導関数のx=0での値だけなのに、導関数まるごとを計算しなきゃならんのがイヤですね。だったら「n階導関数のx=0での値」だけを使っちゃどうか。

[1] 数列 a[i] (i = 0~∞) が既知で
  A(x) = Σ{i = 0〜∞} a[i](x^i)
のとき、
  (A(x))^j = Σ{m = 0~∞} d[j,m](x^m)
の係数d[j,m]はどうなるか。
 これは多項式の展開にほかならない。(0を含む)自然数の列 r = ( r[1], r[2], ..., r[j]) の集合R[j,m]を
  R[j,m] = { r | ∀p(0 ≦ r[p] ≦ m) ∧ Σ{p=1〜j}r[p] = m }
と定義する。(たとえば ( 0, 1, 1 )とか(2, 0, 0)とか(0,2,0)はR[3,2]の要素である。)すると、
  d[j,m] = Σ{r∈R[j,m]}(Π{p=1〜m}a[r[p]])
と表せるでしょ。
 もちろん、列rに並んでいる数の順番を入れ替えても乗積Πは変わらないから、d[j,m]の右辺はウンと整理できるわけだけど、それはとりあえず置いといて。

[2] 数列 b[j] (j = 0~∞)も既知で
  B(x) = Σ{j = 0~∞} b[j](x^j)
であるとき、
  B(A(x)) = Σ{m = 0〜∞} c[m](x^m)
の係数cはどうなるか。
  B(A(x)) = Σ{j = 0~∞} b[j]((A(x))^j)
  = Σ{j = 0~∞} b[j]( Σ{m = 0~∞} d[j,m](x^m))
  = Σ{m = 0~∞} ( (Σ{j = 0~∞} b[j]d[j,m]) (x^m) )
なので、
  c[m] = Σ{j = 0~∞} (b[j]d[j,m])

[3] で、ご質問の場合には
  A(x) = (π/2)cos(x)
  B(x) = cos(x)
であり、それらのマクローリン展開の係数a, bは既知。なのでB(A(x))のマクローリン展開の係数はc。
 あとは、c[m]の右辺をどこまで簡約化するか。(あるいはほっとくか)
    • good
    • 0

sympy とか使って、パソコンにやらせる(^^;

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!