科学教育研究生国内短期留学(鹿児島大学) 報告書

 ワイエルシュトラス関数に関して

 ワイエルシュトラスは1875年にいたるところ,どこでも微分不可能な
連続関数として,次のような関数を作ってみせた。
以下の通りである。

 f(x)=Σancos(bnπX)  (0<a<1,bは奇数,ab>1+3/2π)

                 1
 例えば,a=---  ,b=13のとき
                 2

  T.y=cosX
                     1
    U.y=cosX+---cos(13X)
                      2
                     1                 1
    V.y=cosX+---cos(13X)+----cos(132X)
                      2                22

 は,下図のようになる。
     ワイエルシュトラス関数 その1

コンピュータで更に詳しく表現したのが,下図である。
特徴である自己相似性が見られる。
   ワイエルシュトラス関数 その2
 

BASICでのプログラムは下記のとおりである。

 10 ’***********************GAMEN SETTEI 
 20 CONSOLE O,25.O,1 
 30 SCREEN 3,0,0,1 
 4O CLS 3 
 50 ’ホホ*京********************SENNTAKU 
 6O PRINT ”Weierstrass−Function ” 
 7O FOR P=1 TO 3OOOO : NEXT P 
 80 CLS 1 
 9O K=6 : 
1OO ’***********************Weierstrass 
11O CLS 3 
120 XL=−.2:XU=.2:YL=O :YU=2! 
130 WINDOW (XL,−YU)−(XU,−YL):VIEW(100,0)−(599,399) 
140 DX=(XU−XL)/499 :LINE (−1,O)−(1,O),1:LINE (O,−5O)−(O,5O),T 
150 PI =3.14159Z653# 
16O ’ draw axes 
17O INPUT ”項の数は, ”;Z 
180 LOCATE O,23 :PRINT ”Weierstrass” 
190 LOCATEO,24 :PRINT ”項の数は, ”;Z+1 
2OO : 
210 A=.5 :B=3 :’parameta no atai 
220 ’******************** main routin 
230 FOR X=XL+DX TO XU STEP DX*2/K 
240 N=O : BN=1 :AN=1: A=.5 :B=3 
250 Y=COS(PI*X) 
26O N=N+1 
270 BN=BN*B:AN=AN*A 
280 YN=AN*COS(BN*PI*X) 
290 IF ABS(YN)<1E−O8 THEN GOTO 35O 
3O0 PSET (X,−YN),N MOD 5+1 
310 Y=Y+YN :’************************Wa 
32O PSET(X,−Y),N MOD 5+1 
330 IF N>Z THEN GOTO 35O 
340 GOTO 26O 
350 pSET(X,−Y),7 
360 NEXT X 
370 BEEP