三角函数与二项式系数
X*X-2*X+3=0 ( init value 10 15 0)
Go
(setq r (sqrt 3))
cos a=1/r
sina a=(sqrt 2)/r
M={cos a + i* sin a}/r;
N={cos a - i* sin a}/r;
Go
a(n)=A*M^n+B^n
Go
A*{ cos a + i* sin a }*r+B * { cos a - i* sin a }*r =10
A*{ cos a + i* sin a }^2*r^2 +B * { cos a - i* sin a }^2*r^2 =15
A*{ cos a + i* sin a }^3*r^3 +B * { cos a - i* sin a }^3*r^3 =0
Go
这里有个有趣的公式
比如
{ cos a + i* sin a }^2
={cos a* cos a -sin a* sina +i* 2 *sin a*cos a}
={cos 2a+ i *sin 2a }
同理可以证明{ cos a + i* sin a }^3={cos 3a+ i *sin 3a }
上面解方程可以得到
A+B
(setq AA (/ 5.0 3))
(A-B)*i
(setq BB (/ 25.0 (* 3 (sqrt 2))))
Go
a(n)=A*M^n+B^n
a(n)=A*(cos na + i* sin na ) + B * (cos na -i *sin na)
Go
a(n)=AA*cons na+BB * sin na
这里只考虑其中一部分的解(两个解的实数部分一样,虚数部分相互抵消)
其中A的值为
A=(AA-BB*i)/2
其中一个解的实部为
x=(AA*cos na+BB*sin na)/2
在这里重新构造三角函数,有
R=(sqrt (AA*AA+BB*BB))
cos s=BB/R
sin s=AA/R
GO
x=(sin s *cos na+cos s*sin na)/2
Go
x=sin (na+ s)/2
采用二项式的部分
推导X*X-2*X+3=0 ( init value 10 15 0)
Go
$表示相应的根号
设系数的实数表示形式分别为(C+D$) 和(E+F$)
而对于特征解的二项式展开形式的值的实数解分别为(A+B$)和(A-B$)
这个是解的多项式
(C+D$)(A+B$)+(E+F$)(A-B$)
化简为
A(C+E)+B$(C-E)+A$(D+F)+B$$(D-F)
因为解为实数,所以C=E,D=-F
Go
2AC+2DB$$
同样的求特征值为
2C*(1)+2D(-2)(sqrt -2)(sqrt -2)=10
2C*(1+1*(-2))+2D(2*1)(sqrt -2)(sqrt -2)=15
可以解为
C=5/6
D$$=25/6
其中(A+B$)(C+D$)的展开形式为
(AC+DB$$)+(CB+AD)i
其中实数部分为(AC+DB$$),用这个与前面的三角函数sin (na+s)做比较。
/*
下面两个在这里不需要了
(defun expr (n)
(if (eq n 1)
10
(if (eq n 2)
15
(- (* 2 (expr (- n 1) ))
(* 3 (expr (- n 2) ))))))
(defun formula (n)
(+ (* AA (pow r n)
(cos (* n a)))
(* BB (pow r n)
(sin (* n a)))))
*/
求出a的角度
(defun look ( init left right value )
(if (< (abs (- (cos init ) value )) (/ 1.0 10000000))
init
(if (< (cos init ) value )
(look (/ (+ init left ) 2.0) left init value)
(look (/ (+ init right ) 2.0) init right value))))
// (test 0 0 (/ pi 2) 0.5) 对应于cos a =0.5
(setq r (sqrt 3))
(setq a (look 0 0 (/ pi 2) (/ 1 r ))) 对应于cos a =1/r
求出s的角度
(setq AA (/ 5.0 3))
(setq BB (/ 25.0 (* 3 (sqrt 2))))
(setq rr (sqrt (+ (* AA AA) (* BB BB) )))
(setq s (look 0 0 (/ pi 2) (/ BB rr ))) 对应于cos s =BB/r
(defun pow (num count)
(if (or (> count 1) (eq count 1) )
(* num
(pow num
(- count 1) ) )
1))
(defun expr (i j)
(if (or (eq i (1+ j))(eq j 0) )
1
(+ (expr (- i 1)
j )
(expr (- i 1)
(- j 1) ))))
(setq xvalue 1)
(setq yvalue (- 0 2))
(defun exprsum (start end)
(if (< end 0)
0
(+ (exprsum start (- end 2))
(* (expr start end )
(pow xvalue end )
(pow yvalue (/ (- (1- start) end ) 2) )))))
AC+BD$$
(setq C (/ 5 6))
(setq D$$ (/ 25 6))
(defun trigle (n)
(/ (sin (+ (* n a)
s))
2))
(defun test (n)
(if (> n 0)
(progn
(+
(* 1
(exprsum (+ n 1)
n)
C)
(* 1
(exprsum (+ n 1)
(- n 1) )
D$$
)) )
(print 'compare)
(print (*
rr
(pow r n)
(trigle n )))
(test (- n 1)))
(print 'over)))
(test 10)