投稿者:zyam63
投稿日:2011年10月15日(土)04時40分27秒
|
|
|
のこぎり波のプログラムを教えて頂けませんか。わたしの作ったのは以下のようなのです。
SET WINDOW -10,10,-10,10
DRAW grid(1,1)
FOR x=-3*PI TO 3*PI STEP 0.001
LET p= (-1)^(0)*SIN(1*x)/1
LET q= (-1)^(1)*SIN(2*x)/2
LET r= (-1)^(2)*SIN(3*x)/3
LET s= (-1)^(3)*SIN(4*x)/4
LET t= (-1)^(4)*SIN(5*x)/5
LET u= (-1)^(5)*SIN(6*x)/6
LET v= (-1)^(6)*SIN(7*x)/7
LET w= (-1)^(7)*SIN(8*x)/8
LET e= (-1)^(8)*SIN(9*x)/9
LET f= (-1)^(9)*SIN(10*x)/10
LET g= (-1)^(10)*SIN(11*x)/11
LET h= (-1)^(11)*SIN(12*x)/12
LET i= (-1)^(12)*SIN(13*x)/13
LET j= (-1)^(13)*SIN(14*x)/14
LET k= (-1)^(14)*SIN(15*x)/15
LET l= (-1)^(15)*SIN(16*x)/16
LET y=o+p+q+r+s+t+u+v+w+z+e+f+g+h+i+j+k+l
PLOT x,y
NEXT x
END
|
|
|
投稿者:山中和義
投稿日:2011年10月15日(土)08時55分6秒
|
|
|
> No.1675[元記事へ]
zyam63さんへのお返事です。
!のこぎり波は正弦波を合成することで近似する
SET WINDOW -10,10,-10,10
DRAW grid
FOR x=-10 TO 10 STEP 1/2^8
LET s=0
FOR k=1 TO 50 !周期2π Σ[k=1,∞]{sin(k*x)/k}
LET s=s+SIN(k*x)/k
NEXT k
PLOT LINES: x,s*2/PI; !振幅1
NEXT x
PLOT LINES
!床関数よる
SET LINE COLOR 4
FOR x=-10 TO 10 STEP 1/2^8 !※刻み幅
LET t=-(x-PI)/(2*PI) !周期2π、振幅1
PLOT LINES: x,2*(t-INT(t+1/2)); !※折れ線近似
NEXT x
PLOT LINES
END
|
|
|
投稿者:zyam63
投稿日:2011年10月15日(土)17時16分47秒
|
|
|
> No.1676[元記事へ]
山中様、ありがとうございます。
nを可変にして、収束の様子を見るようにしました。三角関数の合成の加算をどうすればよいのか分からなかったので助かりました。
!のこぎり波は正弦波を合成することで近似する
SET WINDOW -10,10,-10,10
DRAW grid
INPUT n
FOR x=-3*PI TO 3*PI STEP 0.001
LET s=0
FOR k=1 TO n !周期2π Σ[k=1,∞]{sin(k*x)/k}
LET s=s+(-1)^(n-1)*SIN(k*x)/k
NEXT k
PLOT LINES: x,s ! s*2/PI; !振幅1
NEXT x
PLOT LINES
END
>
|
|
|
戻る