• ベストアンサー

scilabでsin波とのこぎり波の差を取ってグラフ化

scilabというフリーソフトを用いて、三角関数とのこぎり波の差を取り、結果が+のときは値が1、-のときは値が0となるようなグラフを作成し、その後フーリエ変換を行いたいのですが、scilabは初めてでどのようにしたらいいか分かりません。 まずは三角関数(sinωt)とのこぎり波(ft-floor(ft))の差を取り、グラフ化しようと思うのですが、どうしたらよいのでしょうか?

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

  • ベストアンサー
  • hot-IC
  • ベストアンサー率87% (7/8)
回答No.1

こんな感じでしょうか?(フーリエまではやってません) Scilabは、最近書籍がそろってきてますので、がんばって勉強してみてください。 clf; fs=1000; t=0:1/fs:1; omega=2*%pi*10; f=10; sig1=sin(omega*t); sig2=f*t-floor(f*t); sig3=sig1-sig2; sig4=(sig3>0)*1; subplot(311); plot([t;t]',[sig1;sig2]') legend sin Sawtooth subplot(312) plot(t,sig3); legend difference subplot(313) plot(t,sig4) legend "Positive"

mist_to
質問者

お礼

ありがとうございます! また書籍を探して勉強します。 なるほど、そうやればよかったのですね。

関連するQ&A

  • scilabを使って時系列データをフーリエ変換するには?

    scilabを使ったフーリエ変換についての質問です。 あるデータ(メトロノームに合わせた指タッピングの時間間隔データでっす)を、フーリエ変換しなければいけないのですが分かりません。゜゜(´□`。)°゜。 具体的には、その時系列データ(512個あってexcelに収まってマス、A列に時間(5432ミリ秒とか)、B列に強さ(200g重とか))を、scilabを用いてフーリエ級数変換・・・スペクトル密度のグラフをつくる、な感じなことをするらしいのですが、プログラムがぜんぜんうまく書けません(今月末までつくらないといけないのに・・・)゜(゜≧□≦゜)゜ 生データの自己相関関数をつくって、フーリエ級数変換、高速フーリエ変換、グラフをプロット、のような流れなのかなぁ?と思うのですが、合ってますかぁ? もしよかったらサンプルプログラムを書いてくださると助かります(*^o^*) 先週から私なりにチャレンジしているんですが、エラーばっかりなんですぅ(涙) どうか、よろしくお願いします☆

  • 時間関数を周波数関数にフーリエ変換した場合・・・・

    時間関数 f(t)=1 (|t|<=T/2) それ以外ではf(t)=0 とするときフーリエ変換をしてG(f)=sinπfT/πf を導いてT=1,2,3,5,100について-2<f<2までグラフを図示し、結果よりスパイク状になることを証明しなさい。 という問題なんですけど、エクセルでグラフまでかけて、スパイク状になるところまで確認はできたんですけど、証明できません。だれか教えてください。

  • フーリエ変換の位相差について

    フーリエ変換についての本を見てみましたが、学校でのsin波はAsin(ωt+Φ)と位相差があるのですが、本を見るとAsinωtという式のままcos波とフーリエ変換していて位相差の事は触れられていません。学校のノートにはΦはサイン波の特徴を決める大事な役割だと書いてあるのになんででしょう?フーリエ変換を行う場合には位相差は必要ないのでしょうか?

  • のこぎり波のフーリエ級数展開で・・

    フーリエ級数の問題で質問させてください。 原点で対称(偶関数、奇関数)になっている関数の フーリエ級数展開の 問題はいくつか解いたのですが、下のような関数 f(t)=(A/T)*t (0<t<T)       |       |       A       /|   /| ・・・・・・・/  |  / |・・・・      /  | / | ----------------------------->     -T  0   T は、対称となっていないのこぎり波ですが、 どう展開すればよいのでしょうか?

  • sin(ω1-ω2)t+sin(ω1+ω2)t

    sin(ω1-ω2)t+sin(ω1+ω2)t このフーリエ変換はどのようにやるのでしょうか?

  • フーリエ逆変換からδ関数を導く

    フーリエ逆変換からδ関数を導く δ関数のフーリエ変換は1 じゃあ逆変換は ∫1*e^i2πft df = δ(t) だと思いますがこれは フーリエ変換で1になるから逆変換ではδ関数になるというように 理解してましたが実際に計算して解く場合にはどうすれば ∫e^i2πft df = δ(t)になるんですか?  1 ―――[e^i2πft]こうなってからあと全然わからないです i2πt どなたか教えてください

  • 数2の三角関数のグラフで求めるθに対するyの値

    数IIの三角関数のグラフで グラフを書くためにいくつかのθに対するyの値を求めなければいけないんですがどうやって求めるんですか y=2sin2θ と y=1/2cosθ/2 でお願いします

  • フーリエ変換はsin波cos波で・・・

    フーリエ変換についてなんですけど、 フーリエ変換はある波長でも何でもつまりは、方程式をsin波とcos波の実数倍をたし合わせたもので表現しようというものですよね? なのに、なぜ、フーリエ変換した後のグラフはスペクトルがあるグラグになるのですか?

  • c言語でグラフをつくる

    「三角関数sinとcosのグラフを描かせるプログラムを作成する。」という問題なのですが、色々本で調べてもうまくいきません。forで繰り返しをするまではなんとかわかったのですが。・゜・(ノД`)・゜・。

  • 三角関数のグラフ作成について教えて下さい。

    三角関数のグラフ作成について教えて下さい。 y=sin(ax-bt)のグラフを作成する。 *a,bは定数である、横軸にx、縦軸にyを取る (1)a=1,b=1で、t=π/2~1.57の時 (2)a=1,b=-1で、t=π/2~1.57の時 (3)以上から、定数a,bの変化とともにおこるグラフの変化について文章で説明する

専門家に質問してみよう