数列の一般項(多項式)

 投稿者:山中和義  投稿日:2013年 3月30日(土)19時51分20秒
  問題
1,3,7,13,21,31,43,57,…で与えられた数列について、
(1) 25番目の数はいくらでしょうか?
(2) 一般項を求めてください。

答え
(終り)

答え 小学生
 1,3,7,13,21,31,43,57,…
+ 0,1,2, 3, 4, 5, 6, 7,…
--------------------------
 1,4,9,16,25,36,49,64,…
より、
(2) ●+(□-1)=□×□なので、●=□×□-□+1 ( 式 x+(n-1)=n^2 )
(1) 25×25-25+1=625-25+1=601
(終り)

答え 中学生
 1,3,7,13,21,31,43,57,…
- 1,2,3, 4, 5, 6, 7, 8,…
--------------------------
 0,1,4, 9,16,25,36,49,…
より、
(1) n番目は(n-1)^2なので、(25-1)^2+25=576+25=601
(2) x-n=(n-1)^2から、x=n^2-n+1
(終り)

答え 中学生
  1,3,7,13,21,31,43,57,…
から、
  0,1,2, 3, 4, 5, 6, 7,… (n-1)
× 1,2,3, 4, 5, 6, 7, 8,… n
---------------------------
  0,2,6,12,20,30,42,56,…
を引いて、
  1,1,1, 1, 1, 1, 1, 1,…
より、x-(n-1)n=1
(終り)

  1, 3, 7,13,21,31,43,57,…
+ 40,40,40,40,40,40,40,40,…
-----------------------------
 41,43,47,53,61,71,83,97,…


答え 高校生
 1,3,7,13,21,31,43,57,…
  2,4, 6, 8,10,12,14,… 第1階差が等差数列
      2, 2, 2, 2, 2, 2,…
より、
n≧2のとき、a[n]=1+Σ[k=1,n-1]2k=1+2*(n-1)n/2=n^2-n+1
これは、n=1のときも成り立つ。
したがって、a[n]=n^2-n+1、n≧1
(終り)

答え 高校生
一般に、
 階差数列を考える。
 a[0] a[1] a[2] a[3] a[4] a[5] a[6] …
      b[0] b[1] b[2] b[3] b[4] b[5] … 第1階差が等差数列
           c    c    c    c    c    …
 a[n]=pn^2+qn+r、n≧0とすると、
 a[0]=r
 b[0]=a[1]-a[0]=(p+q+r)-r=p+q
 c=b[1]-b[0]=(a[2]-a[1])-b[0]={(4p+2q+r)-(p+q+r)}-(p+q)=2p
なので、
 1=r
 2=p+q
 2=2p
から、p=1、q=1、r=1
よって、a[n]=n^2+n+1(n≧0) ∴a[n]=(n-1)^2+(n-1)+1=n^2-n+1(n≧1)
(終り)


OPTION ARITHMETIC RATIONAL !有理数

DATA 1,2,2

DIM P(0 TO 2,0 TO 2),Q(0 TO 2) !連立方程式Px=qを解く
MAT READ Q

DATA 0,0,1 !r
DATA 1,1,0 !p+q
DATA 2,0,0 !2p
MAT READ P

DIM W(3,3),x(0 TO 2)
MAT W=INV(P)
MAT x=W*Q
MAT PRINT x; !n^2,n,1の係数 ※n≧0

FOR n=0 TO 10 !検算
   PRINT n; poly_val(2,x,n) !第n項
NEXT n


DIM y(0 TO 2) !nにn-1を代入して、展開する ※a[n]、n≧1
LET y(0)=  x(0)
LET y(1)=2*x(0)*(-1)   +x(1)
LET y(2)=  x(0)*(-1)^2 +x(1)*(-1) +x(2)
FOR n=1 TO 10 !検算
   PRINT n; poly_val(2,y,n) !第n項
NEXT n

END

EXTERNAL FUNCTION poly_val(k,c(),x) !関数値 f(x)=c[0]x^k+c[1]x^(k-1)+ … +c[n-2]x^2+c[n-1]x+c[n]
OPTION ARITHMETIC RATIONAL !有理数モード
LET f=c(0) !ホーナー法による
FOR i=1 TO k
   LET f=f*x+c(i)
NEXT i
LET poly_val=f
END FUNCTION


●3次式

問題
数列 1,3,4,6,11,21,… の一般項を求めよ。


OPTION ARITHMETIC RATIONAL !有理数

DIM P(0 TO 3,0 TO 3),Q(0 TO 3) !連立方程式Px=qを解く

!1,3,4,6,11,21,…
!  2,1,2, 5,10,… 第1階差
!   -1,1, 3, 5,… 第2階差が等差数列
!      2, 2, 2,…
!より、
DATA 1,2,-1,2

MAT READ Q

!階差数列を考える。
! a[0] a[1] a[2] a[3] a[4] a[5] a[6] …
!      b[0] b[1] b[2] b[3] b[4] b[5] … 第1階差
!           c[0] c[1] c[2] c[3] c[4] … 第2階差が等差数列
!                d    d    d    d    …
!a[n]=pn^3+qn^2+rn+s、n≧0とすると、
!a[0]=s
!b[0]=a[1]-a[0]=(p+q+r+s)-s=p+q+r
!c[0]=b[1]-b[0]=(a[2]-a[1])-b[0]={(8p+4q+2r+s)-(p+q+r+s)}-(p+q+r)=6p+2q
!d=c[1]-c[0]
! =(b[2]-b[1])-c[0]
! ={(a[3]-a[2])-(a[2]-a[1])}-c[0]
! ={(a[3]-2a[2]+a[1])}-c[0]
! ={(27p+9q+3r+s)-2(8p+4q+2r+s)+(p+q+r+s)}-(6p+2q)
! =6p
DATA 0,0,0,1 !s
DATA 1,1,1,0 !p+q+r
DATA 6,2,0,0 !6p+2q
DATA 6,0,0,0 !6p
MAT READ P

DIM W(4,4),x(0 TO 3)
MAT W=INV(P)
MAT x=W*Q
MAT PRINT x; !n^3,n^2,n,1の係数 ※n≧0

FOR n=0 TO 10 !検算
   PRINT n; poly_val(3,x,n) !第n項
NEXT n


DIM y(0 TO 3) !n-1を代入して、展開する ※a[n]、n≧1
LET y(0)=x(0)
LET y(1)=3*x(0)*(-1)    +x(1)
LET y(2)=3*x(0)*(-1)^2+2*x(1)*(-1)  +x(2)
LET y(3)=  x(0)*(-1)^3  +x(1)*(-1)^2+x(2)*(-1)+x(3)
FOR n=1 TO 10 !検算
   PRINT n; poly_val(3,y,n) !第n項
NEXT n

END

EXTERNAL FUNCTION poly_val(k,c(),x) !関数値 f(x)=c[0]x^k+c[1]x^(k-1)+ … +c[n-2]x^2+c[n-1]x+c[n]
OPTION ARITHMETIC RATIONAL !有理数モード
LET f=c(0) !ホーナー法による
FOR i=1 TO k
   LET f=f*x+c(i)
NEXT i
LET poly_val=f
END FUNCTION


 
 

Re: 数列の一般項(多項式)

 投稿者:山中和義  投稿日:2013年 3月31日(日)10時02分40秒
  > No.3031[元記事へ]

> 問題
> 1,3,7,13,21,31,43,57,…で与えられた数列について、
> (1) 25番目の数はいくらでしょうか?
> (2) 一般項を求めてください。

前回は、
 数列の一般項が2次式なので、2階差分で定数になる
と考えた訳だが、
n次式とすると、ラグランジュの補間公式などを使っても求められる。

連立方程式を計算機で解くことを考えれば、単純に、
 a(n)=pn^2+qn+rとして、
 a(1)=p+q+r
 a(2)=4p+2q+r
 a(3)=9p+3q+r
より、p,q,rを求める。


!問題
!数列 1,3,7,13,21,31,43,57,… の一般項を求めよ。

!nの2次式f(n)=pn^2+qn+rなので、
! 3点(1,a[1])、(2,a[2])、(3,a[3])を通る放物線の方程式
!を求めてみる。

DIM A(0 TO 2,0 TO 2),b(0 TO 2)
DATA 1,1,1 !f(1)
DATA 4,2,1 !f(2)
DATA 9,3,1 !f(3)
MAT READ A

DATA 1,3,7 !13,21,31,43,57,…
MAT READ b

DIM W(3,3),x(0 TO 2) !連立方程式Ax=bを解く
MAT W=INV(A)
MAT x=W*b
MAT PRINT x;

FOR n=1 TO 10 !検算
   LET f=0
   FOR k=0 TO 2
      LET f=f*n+x(k)
   NEXT k
   PRINT n; f !第n項
NEXT n

END

 

戻る