• ベストアンサー

BASICでフーリエ級数展開のグラフが思うように描けません!!

BASICで f(x)= -π/4 (x<0)    +π/4 (x>0) をフーリエ級数展開した f(x)≒sinx+(sin3x)/3+(sin5x)/5+…(+sin(2n-1)x)/(2n-1) のグラフを描きたいと思っています。 十進BASICで次のようなプログラムを作ってみたのですが、 x<0 のとき-π/4 , x>0 のときπ/4 というグラフにはならず、 サインのグラフが歪んだようなものが出来上がってしまいます。 この場合、プログラムのどこを修正すればよいのでしょうか? LET S=0 LET k=0 DEF f(X)=SIN((2*k-1)*X)/(2*k-1) SET WINDOW -10,10,-23,10 DRAW GRID FOR X=-10 TO 10 STEP 0.1 FOR k=1 TO 1000 LET S=S+SIN((2*k-1)*X)/(2*k-1) NEXT k PLOT LINES: X,S NEXT X END

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

後は、角度の単位がラジアンになっていない。 これで、どう? DEF f(X)=SIN((2*k-1)*X)/(2*k-1) SET WINDOW -10,10,-23,10 DRAW GRID FOR X=-10 TO 10 STEP 0.1 LET S=0 LET Y = X * PI / 180 FOR k=0 TO 1000 LET S=S+f(Y) NEXT k PLOT LINES: X,S NEXT X END ・最初の変数の初期化は削除。 ・変数sの初期化はループの中。 ・角度をラジアンに変更。 ・せっかくf(X)を定義しているから使用する。

ojaga100
質問者

お礼

試してみたところ、うまくいきました!!! 角度をラジアンでやる方法がわからなかったので保留にしていましたが、それも教授していただきありがとうございました。

その他の回答 (2)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.3

#2です。 自分で、 「角度の単位がラジアンになっていない。」 とは書いたけど、自分で「???」になっています。 (本当にそういうことか?) 何か違う気がする…。

  • f272
  • ベストアンサー率46% (8018/17137)
回答No.1

LET S=0 を FOR k=1 TO 1000 LET S=S+SIN((2*k-1)*X)/(2*k-1) NEXT k の直前に置かないとダメでしょ。

ojaga100
質問者

お礼

返信が遅くなって申し訳ありません。 変数の初期化は使う直前にする、ということで了解しました。

関連するQ&A

  • フーリエ級数展開についてです

    f(x)= -k (-π<x<0) k (0<x<π) f(x+2π)=f(x) について (1) フーリエ級数展開せよ (2) (1)の結果を用いて(1-1/3+1/5-1/7+1/9・・・)の値を求めよ という問題について (1)は 2k/π∑sin(nx)/n となったのですがこれは正しいのでしょうか? また、この結果をどう使えば(2)が求められるのでしょうか 回答お願いします。

  • フーリエ級数の問題

    f(x)は周期2πをもつとする。 f(x)のフーリエ級数を求める。 (1)f(x)=x(-(π/2)<x<(π/2)),π-x((π/2)<x<(3π/2)),  この条件でフーリエ級数を求めると、  グラフを描くと奇関数になるので、a0=0,an=0, bn=(4/nの2乗π)sin(π/2)n したがってフーリエ級数は、 f(x)=(4/π){sinx-(1/9)sin3x+(1/25)sin5x-・・・} でいいのでしょうか? (2)f(x)=xの2乗(-(π/2)<x<(π/2)),π/4((π/2)<x<(3π/2)),  グラフを描くと、偶関数になったので、bn=0, a0=(πの2乗)/6, an=(2/π){(π/nの2乗)cos(π/2)n-(2/nの3乗)sin(π/2)n} よって、  f(x)=((πの2乗)/6)+(2/π){-2cosx-(π/4)cos2x+(2/27)          cos3x+・・・} これでいいのでしょうか?  ご回答よろしくお願いします。

  • 十進BASICでのsin(x)の近似のグラフ化について

    十進BASICを使っています。 sin(x)=x-x^3/3!+x^5/5!-... について、グラフで確かめようと思いプログラミングしてみたんですが、3行目でt=36以上にするとグラフが描かれなくなってしまいます。 どこを直せばt>35でもグラフが描かれるようになるのか教えていただけないでしょうか。よろしくおねがいします。 LET w=30 LET s=0.1 LET t=30 DIM p1(t) DIM p2(t) SET WINDOW -w,w,-w,w SET POINT STYLE 1 DRAW AXES0 FOR n= 1 TO t LET p1(n)=(-1)^(n+1) LET p2(n)=2*n-1 NEXT n SET LINE COLOR 15 FOR x= -w TO w STEP s LET y=SIN(x) PLOT LINES: x,y; NEXT x PLOT LINES SET LINE COLOR 1 FOR x= -w TO w STEP s WHEN EXCEPTION IN LET y=0 FOR n= 1 TO t LET y=y+p1(n)*x^p2(n)/FACT(p2(n)) NEXT n PLOT LINES: x,y; USE PLOT LINES END WHEN NEXT x END

  • フーリエ級数展開。

    f(x)=0(-π≦x<π),x(0≦x<π) これをフーリエ級数展開するとどうなるのでしょうか? フーリエ級数展開した式が出ません・・・。 答えとしては f(x)=π/4-(2/π)cosx+sinx-sin2x/2-(2/π)cos3x/3~2+sin3x/3-・・・ と解答にはありますが、一般系(?)で表記したいと考えています。 どのようにフーリエ級数展開すればいいのでしょうか? お願いします。

  • フーリエ級数の問題です。

    フーリエ級数の問題です。 周期が2πの関数f(x)(-π<=x<=π)を考える。ただしf(x)の不動点aにおける値はf(a)=1/2{f(a+0)+f(a- 0)}で与えられる。f(x)={1(0<x<π/2) ,0(π/2<|x|<=π) ,-1(-π/2<x<0)} またこの式の部分和をSNとする。S5,S10のグラフをかけ 以上です。 S5=Σ[n=1,5] bn*sin(nx)=(2/π)}{sin(x)+2sin(2x)+sin(3x)+sin(5x)} 1-cos(nπ/2)} S10=Σ[n=1,10] bn*sin(nx)=(2/π)}{sin(x)+2sin(2x)+sin(3x)+sin(5x)+2sin(6x) +sin(7x)+sin(9x)+2sin(10x)} までは説いたのですが。これをグラフにすることができません。GRAPESというソフトで作図しようとしましたがうまくいきません。参考になるサイトなどでもいいので回答よろしくお願いいたします。

  • フーリエ級数展開について

    f(x)= -π-x (-π<x<-π/2),x (-π/2<x≦π/2),π-x (π/2<x≦π) をフーリエ級数に展開する問題で、 グラフにかくとf(x)は奇関数になるから フーリエ係数a_0やa_nは0になりますか? また、b_nは整数mを使って、偶数2mの時 0、奇数2m-1の時 4(-1)^(m+1)/π(2m-1)^2になりますか? お願いします!

  • フーリエ級数

    フーリエ級数の問題について教えてください! f(x)=x(o≦x<π),0(-π≦x<o) この時f(x)のフーリエ級数展開は、 π/4+1/πΣ[∞,n=1]{(-1)^n-1}cos(nx)/n^2-Σ[∞,n=1]{(-1)^n}sin(nx)/n となる。 この式をF(x)としたとき、 (1) F(π)とF(0)とF(-π)を求めよ。 また、X=Σ[∞,x=0]1/(2n+1)^4、Y=Σ[∞,x=1]1/n^2としたとき (2) 1/π∫[-π→π]|f(x)|^2を求め、さらにこれをXとYを使って表せ。 上の2題、よろしくお願いします><

  • フーリエ級数について

    次の問題を解いてください。 f(x)を区間-π≦x≦πで連続かつf(-π)=f(π)をみたし、その導関数f'(x)が区分的に連続な関数とする。f(x)が、 F(x)=a_0/2+Σ[n=1,∞](a_n cos(nx)+b_n sin(nx)) とフーリエ級数に展開されるとき、以下の問いに答えよ。 (1)f'(x)をフーリエ級数に展開したときの展開係数をa_n,b_nを用いて表せ。 (2)(1)式の右辺をxで微分し(フーリエ級数の項別微分)、これを(1)と比較せよ。 くわしくお願いします。

  • フーリエ級数展開の問題

    フーリエ級数展開の問題 このフーリエ級数展開の問題が分かりません. アドバイスいただけたら幸いです f(x)= a0/2+ Σ(k=1→∞) ( ak*coskx + bk*sinkx) でa0,bk,akは実数です (a)次の関数をフーリエ級数展開せよ g(x ) = ( π - x ) ( 0 < x < 2π ) = 0 x=0 (b) (a)の結果より、(1)(2)を証明せよ (1) (1/2π)*∫(0→2π) f(x)* ( π - x ) dx =Σ(k=1→∞) (bk/k) (2) (1/2π)*∫(0→2π) f(x+t)* ( π - x ) dx =Σ(k=1→∞) (bk*coskt - ak*sinkt) /k (c) (b)の結果より、次の値を求めよ Σ(k=1→∞) ( (-1)^n) / n^2

  • フーリエ級数について

    フーリエ級数で、f(x)=1 (0<=x<=1) , f(x)=2 (1<=x<=3) を求めていくと、、a(n)=-1/nπsin(nπ/3),b(n)=1/nπcos(nπ/3)・・・が出てきますが、 a(n)は-√2/3,0,√2/3に場合分けできると思いますが、その時のnの条件をどう決めればいいですか? また、b(n)についてもお願いします。