新しく発言する  EXIT  インデックスへ
SIN,COS倍角式

  SIN,COS倍角式 しばっち 2008/02/08 20:45:02 
  EXTERNALSUBSINEX(F,COSA(),SINA(,),COSB()... しばっち 2008/02/08 20:45:37 
  │└!チェビシェフの多項式Tn(x)からn倍角の公... 山中和義 2008/02/09 15:09:21 

Re: EXTERNALSUBSINEX(F,COSA(),SINA(,),COSB()...  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2008/02/09 15:09:21
!チェビシェフの多項式Tn(x)からn倍角の公式を求める

!n倍角の公式
!http://www10.plala.or.jp/rascalhp/math.htm#5


!●cosの場合

!Tk(x)=cos(k*θ)、k=0,1,2,…
!x=cosθ

!漸化式 Tn+2 - 2*x*Tn+1 + Tn = 0
! 第1項 T0=1
! 第2項 T1=x
!が成立する


!漸化式 An+2 - 2*cosθ*An+1 + An = 0
! 第1項 A0=1
! 第2項 A1=cosθ
!となる
!
!A2=2*cosθ*A1-A0
! =2*cosθ*cosθ-1
!A3=2*cosθ*A2-A1
! =2*cosθ*(2*cosθ^2-1)-cosθ
! =4*cosθ^3-3*cosθ
!A4=2*cosθ*A3-A2
! =2*cosθ*(4*cosθ^3-3*cosθ)-(2*cosθ^2-1)
! =8cosθ^4-8cosθ^2+1
! :
! :

OPTION BASE 0

LET N=20 !次数
DIM c0(N),c1(N) !1変数多項式の次数nの係数

MAT c0=ZER !第1項
LET c0(0)=1 !1*cosθ^0

MAT c1=ZER !第2項
LET c1(1)=1 !1*cosθ

LET k=10 !第k項 ※1〜N

DIM c2(N)
FOR i=1 TO k-1 !An+2 = (2*cosθ)*An+1 - An
MAT c2=ZER
FOR J=N TO 1 STEP -1 !2*cosθ*A1
LET c2(J)=2*c1(J-1)
NEXT J
MAT c2=c2-c0 !-A0

MAT c0=c1 !次へ
MAT c1=c2
NEXT i

PRINT "cos k=";k
FOR i=N TO 1 STEP -1
IF c1(i)<>0 THEN PRINT c1(i);"* cosθ ^";i
NEXT i
IF c1(0)<>0 THEN PRINT c1(i)
PRINT





!●sinの場合

!sin(n*θ)=Sn*sinθ
!(Tn(x))'=n*Sn(x) ※チェビシェフの多項式Tn(x)

!T1(x)=x、S1(x)=1
!T2(x)=2*x^2-1、S2(x)=2*x
!T3(x)=4*x^3-3*x、S3(x)=4*x^2-1
!T4(x)=8*x^4-8*x^2+1、S4(x)=8*x^3-4*x

!sin2θ=S2*sinθ
! =(2cosθ)sinθ
!sin3θ=S3*sinθ
! =(4cosθ^2-1)sinθ ※cos優先
! =(4*(1-sinθ^2)-1)sinθ ※sin優先へ
! =-4sinθ^3+3sinθ
!sin4θ=S4*sinθ
! =(8cosθ^3-4cosθ)sinθ ※cos優先
! =(8(1-sinθ^2)cosθ-4cosθ)sinθ ※sin優先へ
! =-8sinθ^3cosθ+4sinθcosθ
! :
! :

DIM s(N)
MAT s=ZER

FOR i=1 TO N !Sn(x)=Tn(x)'/n
LET s(i-1)=c1(i)*i/k
NEXT i

PRINT "sin k=";k
FOR i=N TO 1 STEP -1
IF s(i)<>0 THEN PRINT s(i);"* cosθ ^";i;" * sinθ"
NEXT i
IF s(0)<>0 THEN PRINT s(i);" * sinθ"


END

  │ └山中和義さんご返事ありがとうございます。 しばっち 2008/02/10 17:34:35  (修正1回)
  !tanのn倍角の公式 山中和義 2008/02/10 17:34:41  (修正1回)
   └つづき 山中和義 2008/02/10 17:35:22  (修正1回)

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。