• ベストアンサー

三角関数の有限要素法的表現

有限要素法というのか、差分法といわれるのかよくわかりませんが、 三角関数 y[i]=l*Math.sin(w*i+alpha) みたいな表現がされているものを、 直近過去の2つの値 y[i+1] y[i+2](現在時間 i,直近1つめの過去 i+1、直近2つめの過去i+2) から、 y[i] = a*y[i+1] + b*y[i+2] みたいな表現に変換したいのですが、 どのように変換すればいいのでしょうか? 求めたい式の正式名称がわからないので、ググレない状況です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「差分方程式」あるいは「漸化式」だと思う. デジタル信号処理ではしばしば使うのでそっちの方で検索してもいいし, y[i] + y[i+2] に対して和積からゴリゴリ計算しても OK. けど, その表記は普通じゃないなぁ. 普通は時間が進むにつれて添え字が大きくなります. つまり, 現在時刻を i とすると 1つ前は i-1, 2つ前は i-2 とする.

_fukky_
質問者

お礼

ありがとうございました。 漸化式 三角関数でググって 次のページを発見しました。 http://nabe.blog.abk.nu/generate_sin_wave リンク先がなくなった時のためにそのページからの抜粋を 変数 解説 y[n] 生成系列 f 生成周波数[Hz] k サンプリング周波数[sample/sec] phi 初期の位相 PI 円周率 / 3.1415926535.... 初期値計算。 y[0] = sin(phi); y[1] = sin(phi + 2*PI*f/k); ar1 = 2*cos(2*PI*f/k); 生成式(n>2)。 y[n] = ar1*y[n-1] - y[n-2];

関連するQ&A

専門家に質問してみよう