• 締切済み

matlabの数値積分quad

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

みんなの回答

  • Kules
  • ベストアンサー率47% (292/619)
回答No.1

logの中身に負の数が入る形になってるからじゃないですかね? logの積分をする時、それがどういう形であっても積分区間の両端の値をlogの中に入れることになるので。 ということで、 ・積分区間が本当に想定しているものになっているか確かめる ・logの中身が本当に想定しているものになっているか確かめる あたりをすればいいのではないかと。 参考になれば幸いです。

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

関連するQ&A

  • MATLABの積分について

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

  • MATLABの微分、積分

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

  • 複素関数の定積分がわかりません

    f(z)=1/(z^2-3z+2)を、図のような積分経路で積分する問題です。 図のように、始点はz=3/2、終点はz=-3/2とします。 f(z)を分解して、1/(z-2) - 1/(z-1)にして積分すると、原始関数は F(z)=log(z-1) + log(z-2)になりますよね。 あとは、F(終点を代入) - F(始点を代入)で答えが出るはずだと考えたわけです。始点と終点を代入すると、 log(-3/2 - 1)-log(-3/2 - 2)-log(3/2 - 1)+log(3/2 - 2) となりました。ここまでは間違ってはいないと思います。 複素数の対数を求める公式log(z)=log|z| + arg(z)iに代入すると上の式は log|-5/2| + 2πi - log|-7/2| - 2πni - log|1/2| - 2πni + log|-1/2| +2πni になると思ったのですが、 教科書の解答では、log|-3/2-1| - log|-3/2-2| - log|3/2-1| + log|3/2-2| + arg(-3/2-1)i - arg(-3/2-2)i - arg(3/2-1)i + arg(3/2-2)iとなっており、 最終的な答えはlog(5/7)+πiになります。わたしの式では、虚数成分が消えますのでどうもこの答えになりそうはないです。 困ってます。どなたか教えてください!

  • MATLAB

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

  • 積分

    多変数関数の積分法の問題です。1.(1)の途中式と答えをよろしくお願いします。

  • 積分

    ∫(1/(1+(x^2)))dx =arctan(x) ということから置換積分を用いて t=ixとおいて dx/dt=-i ∫(1/(1-(x^2)))dx =∫(1/(1+(t^2)*(-i)))dt =-i*∫(1/(1+(t^2)))dt =-i*arctan(t) =-i*arctan(ix) となってしまいました。 最初の式には、虚数単位がなかったのですが、 結局、虚数単位が二ヶ所出てきました。 この式は複素関数なのでしょうか。

  • 定積分の問題です。

    写真の☆印の問題です。 (3)は部分積分で式を立てたのですが、答えと自分の答えが合いません。どこで間違っているか知りたいので、式を教えてください。 本当の答え ㏒2-1/2 (5)はx=2tanθと置いたのですが、↑と同じく答えが合いません。 よろしくお願いします。

  • MATLABによるFFT

    MATLABのfft関数を使用して,フーリエ変換してPSDを算出すると,スペクトルの周波数領域での積分値が元データの二乗平均値と一致しないのですが,原因は何が考えられるでしょうか?FFTの出力がフーリエ係数であれば一致するはずなのですが.

  • 積分に関する疑問です

    積分∫(1/sqrt(x^2+1))dx は、log{x+sqrt(x^2+1)}+c ですが、この積分問題は、x+sqrt(x^2+1)=tとおいて置換積分しますね。 こんなことをどうして思いつくんだろう?と疑問に思うのです。 この原始関数 F(x) = log{x+sqrt(x^2+1)} 自体どこから出てくるものなのでしょうか。初めてこの関数を微分してみた人は、どこからこんな式を考え付いて微分してみたのでしょうか?  この log{x+sqrt(x^2+1)} という式は、きっと何か他の問題を解いている途中に出てきてたまたま微分したら、いい結果が出たのではないか、と思っています。  ご存知の方、教えてください。

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

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

このQ&Aのポイント
  • ヴィンテージ古着の汚れを落とす方法やおすすめのお店についてご紹介します。汚れや破れに悩んでいる方必見!
  • Carharttのブルゾンの汚れや破れをなんとかしたい方必見!ヴィンテージ古着の専門店やリメイク店の情報もご紹介します。
  • フロント下部の汚れをきれいにしたい!ヴィンテージ古着の汚れ落としの方法やお店の探し方を解説します。
回答を見る