• 締切済み

MATLABの積分について

MATLABである離散値の集合で信号の波形をあらわしているのですが、その波形を積分したいのですが方法がわかりません。 減衰している波形なので関数の式はわからないため、どうすればいいか迷っています。 お願いいたします。

みんなの回答

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

関数系は分かってないんですか。 となると、 素直に台形公式で計算するか(trapz関数) http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/ref/?/matlab/support/manual/r13/toolbox/matlab/ref/trapz.shtml シンプソン則で計算するか なぜかmatlabにはシンプソンで計算する組み込み関数はないみたいなので自前でやることになりますが。 http://sach1o.blog80.fc2.com/blog-entry-20.html こことか参考 あるいは、quadlを使うことにして、中間値は、interp1を使って補完するか http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/ref/?/matlab/support/manual/r13/toolbox/matlab/ref/interp1.shtml xxという名前のベクトルにxの値、yyという名前のベクトルに関数の値が入っているとして、 quadl(inline('interp1(xx,yy,x)','x','xx',yy'), x0, x1, [], [], xx, yy) みたいな感じで。

全文を見る
すると、全ての回答が全文表示されます。
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1
hikamiu
質問者

補足

ありがとうございます。 これだと関数funの形が式で表せないと使えないように思ってしまったのですが、そんなことはないのでしょうか?よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • matlabの数値積分quad

    matlabでquadを用いて関数の積分を行ってみたのですがその答えになぜか虚数が混じってしまいます。 なぜでしょうか? その関数というのがlogの式が混じっていてそれが原因だと思います。(logの項を抜いたら虚数はでなかった)

  • MATLABの微分、積分

    MATLABに関する質問です。 初歩的なことで申し訳ありませんが、 複素関数の微分はどのようにすればよいのでしょうか。 また関数の積分の仕方を教えてください。 参考にできるURL等ありましたら貼って頂けるとありがたいです。

  • MATLABでFFTを行うには

    こんばんは。 ある信号のスペクトラムを解析したいと考えています。 MATLABを用いてそれを行いたいのですが、 FFTができるような関数ってもともとMATLABに用意されて いるのでしょうか? 教えてください。よろしくお願いいたします。

  • MATLAB

    MATLABを使うにあたって、MATLABに存在する誤差関数erfcを使用し、 10^-4=0.5*erfc(x)、10^-4=0.5*erfc(√x)、という式でそれぞれxを求めるにはどうしたらよいのでしょうか?

  • matlab、制御についてです。

    matlab、制御についてです。 matlabを使用して、制御の勉強しています。 式誤差モデルから伝達関数を求める方法はあるのですか? あるのであれば教えていただきたいです。 ちなみに、System Identification Toolboxは入っていません。 お願いします。

  • 音量、音圧、振幅、定義式、matlabについて よろしくお願いします。

    はじめまして 音楽家(作曲、アレンジ)をやりながら大学の修士課程で信号処理(音声)の研究をおこなっています。 曲のミックス、マスタリング時において 各パートまたは2ミックスされたものに聴感上、音を前に出したり、迫力を出したりする時にコンプを使って音圧をあげます。 一般的には、このときにコンプを使うことによりデコボコだった時間軸波形を平らになるようにします。波形が変わるので若干音質も変化をします。 音量の上げ下げをするときは、ボリュームボタンを操作することにより音質を変えることなく音量を変えることが出来ます。 ここで質問なんですが 音量と音圧の定義(式)または違いは何でしょう? 次に matlabを使って音声信号処理シミュレーションを行っているときに 音声をmatlabに読み込み、音声の音量を変化させたいと思って、音声信号を定数倍することにより音量の変化を試みました。 ここで、音声を定数倍することにより音量を上げようとしたときに音質が変わる気がするのですが気のせいでしょうか?(音量の変化=振幅の変化?) 気のせいではないとしたら この理由として、自分なりの考えは matlabで扱える振幅の範囲を超えてしまい自動的にコンプがかかったような状態になったのではないか と思っています。 どうなんでしょうか? また、matlabのコマンドとして、取り込んだ音声データのボリュームを操作できる関数はないのでしょうか? さらに 音の音色を決めるのは「波形」だと言われていますが 市販されている各アーティストのCDをPCに取り込み波形を見ると、当然ですがミックスやマスタリングを行っていることによりほぼ平らになってます。 大体どんなアーティストのCDの波形を見ても同じ様な波形をしていると思いますが、 聞いてみると当然、それぞれのアーティストの曲が聞こえますね どうゆうことなんでしょうか? よろしくお願いします。

  • MATLABのプログラミング

    MATLAB全くの初心者です。 横軸を時間、縦軸を反応値は0または1に固定したもので、 周期性をもったパルス波形を生成したいのですが、 途中でつまずいてしまいました。 グラフをプロットすると、 ____∧__∧___ このようなグラフになってしまいます。 本当は、 __|____|____ このようなグラフをつくりたいと考えているのですが… 関数zerosを使った記述方法があれば教えていただきたいです。 よろしくお願いいたします。

  • matlabでのwavwlet解析について

    matlabでのwavwlet解析を行いたいと思っているのですが、うまくできません。 式的には以下でいいと思うのですが、 wavelet = ifft[fft(g(t))*fft(fai(t)] g(t):信号、fai(t):複素モアレー関数。 複素モアレー関数をどうやってmatlabで関数にすればいいいのかわかりません。複素モアレー関数には変数としてt',a(1/aが周波数に相当)の二つがあると思うのですが'Function'を使って関数にする場合どうやってすればいいのでしょうか?

  • matlabでの値をエクセルで扱う方法

    matlabのsimulinkを用いてシミュレーションを行い、 scopeで波形を読み取りました。 そのときの波形のデータを数値として出し、エクセルでグラフに処理したいのですがmatlabデータとエクセルとを互換する方法が分かりません。 教えてください よろしくお願いします。

  • 偶関数と奇関数の積分

    こんにちは。複素フーリエ級数展開の問題で出てきた積分について、参考書に書いてあった説明がよくわからなかったので質問させていただきます。 問題となる波形は f(t)=t (0≦t≦2π) T(周期)=2π というものです。つまり波形はノコギリのような形をしています。 ここでの積分について参考書が説明している以下の内容がわかりません。 「t×exp(-jkt)dtを0から2πで積分するとき、奇関数tと偶関数cos(kt)の積は奇関数であり、その一周期の積分はゼロとなるのでt×(-j)sin(kt)を0から2πまで積分した値のみを考えればよい。」 自分が疑問に思ったのは「偶関数でも一周期積分したら0になるはず」という点です。 というのも、同じ偶関数でもcosktを一周期積分したらその値は0になりますよね。しかし「t×(-j)sin(kt)」 を一周期積分した値はちゃんと出てきます。「t×(-j)sin(kt)」と「cos(kt)」は同じ偶関数でも意味合いが違うのでしょうか。 また、奇関数は偶関数のように波形に関係なく一周期の積分はすべてゼロになると解釈してよろしいのでしょうか。 このあたりを理解できているとフーリエ級数展開の式を楽にすることができるので、非常に助かります。回答よろしくお願いいたします。