質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • MATLAB

    155questions

    MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

フーリエ変換と複素平面との関係(Ver.2)

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,033

kichio

score 7

いつもお世話になっております。kichioと申します。先般、rkhsさんからフーリエ変換とフーリエ級数展開の混同をご指摘いただき、またHiroyuki827さんからオイラーの公式に関するヒントをいただき大変勉強になりました。皆様方のご教授をもとに自己学習をしてまいりまして、再度、投稿させていただきます。現時点で不明なことはオイラーの公式が純粋な正弦波を表すことが数式で導出できず、私なりに書籍などを調べながら書かせていただいております。誤っていることは承知していながら投稿することを、お許しいただき、ご助言を賜りたく再度、投稿させていただきます。この点が理解出来ましたらラプラス変換に学習を進めていく所存です。何卒よろしくお願い申し上げます。
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • iwamoto_takaaki

    2017/04/15 10:47

    書籍の引用は、引用の規定に沿って本の名前などを明示するほうがいいですよ。 それはともかく、複素数の極形式が何を示すのかわからないという意味でいいですか?

    キャンセル

  • kichio

    2017/04/15 16:44

    kichioと申します。御意見を賜り誠にありがとうございます。おっしゃる通り複素数の極形式が何を示すのか。は全く理解できておりません。極形式が何を示すのかが分かるとラプラス変換におけるe^-stを入力信号に乗算して時間領域から複素平面への写像となることがわかるのでしょうか?お忙しいところ誠に恐縮なのですがご教授のほどお願い申し上げます。

    キャンセル

回答 5

+2

フーリエ変換なりラプラス変換はあくまでも数学上の変換に過ぎません。

「時間」とか「信号」といった物理量や物理現象との関連は「単位」との紐づけがないことには意味を成しえません。この変換の問題ではなく、数学と物理の関係から復習したほうがいいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/15 20:54

    kichioと申します。大変貴重なご指導をいただき誠に光栄に存じ上げます。今現在、貴殿の「単位」との紐づけが重要であることを理解するまでに至っておりません。数学、物理は学生時代以来、離れた職についていましたので今は復習をしながら制御工学、MATLABを独学している最中でございます。制御工学を学び始めて思いますのは、システムを数式で表し、その数式に基づいてシステムを制御することに美しさを感じ、挑戦している次第です。今後、私はベースとなる数学、物理はもちろんですが、並行して何をどのように学んでいけばよいのかが分かっておりません。貴殿の貴重なご経験からご助言いただければ幸いです。よろしくお願い申し上げます。

    キャンセル

  • 2017/04/15 21:25

    はじめまして。名前の通り動物好きの自称エンジニアです。(自分の最初の回答のせいですが)話が大きくなってしまいそうなので、先に本題について回答させていただきます。

    まず、ラプラス変換を以下の式で表現するとします。
     F(s) = L( f(t) )
       F:ラプラス変換先の関数(sは引数、一般に複素数)
       L:ラプラス変換記号
       f:ラプラス変換元の関数(tは引数)

    このように、『ラプラス変換は引数「t」についての関数から引数「s」についての関数への写像である』といえます。おそらく、勉強されている書籍では「tを時間」としているのでしょう。こうすればt→sの変換は「時間から複素数の写像」ということができます。

    ただし、『「t」を時間とする』というのは無断で決定するのは早計です。まあ制御工学なので「時間」と考えるのが自然だとは思いますが、断りなく物理量と紐づけるとあらぬ誤解を招きえます。

    キャンセル

  • 2017/04/23 00:04

    kichioと申します。投稿を再編集しましたので再度、ご教授賜りたく存じ上げます。

    キャンセル

+1

ラプラス変換については専門外なので、文献をおすすめするくらいしかできません。工学系ならいかがおすすめです。フーリエ解析と偏微分方程式 (技術者のための高等数学) フーリエ変換も載っているので、参照しやすいと思います。

どのように複素数を扱うか分野によって異なるので、あなたの求める答えになっているかはわかりませんが、私なりの回答を書いてみたいと思います。

複素数を扱うメリットとしては、実変数が2つ扱えることでしょうか?これが大きいと思います。というのも私達がよく扱う空間は実数で座標を指定する二次元ですからね。虚数は軸上に載せられません。その上で極形式とは何か考えてみたいと思います。

複素数はz=x+iy (iは虚数) と書かれます。これを複素共役z* = x-iyと掛け合わせると|z|^2=x^2+y^2となりますね。これは円の定義方程式になっています。何らかの事情で左辺が定数ならば、|z|^2 = r^2とおいてr^2=x^2+y^2となるのですぐわかりますね。これは半径rの円を表しています。ところで、円というのは角度\thetaを変えても形は変わりません。つまりx=rcos\thetay=rsin\thetaとおけば、これはよく知られている関係cos^2\theta + sin^2 \theta = 1を導きます。この式はいかなる\thetaにおいても成り立ちます。この結果から、円の形(つまり定義方程式は)\thetaによらないことがわかります。

以上の結果を踏まえますと、z=re^i\thetaと置くことは非常に効率が良いことがわかります。この複素共役はz* =re^-i\thetaですから、|z|^2=r^2となり、円の方程式を導きますね。またe^i\theta = cos\theta + i sin\thetaを使えば、cos^2\theta + sin^2 \theta = 1を導きます。

このように、複素数はそれ自体、(幾何学的に見る限り)円と関わりが非常に深いわけで、円というのは我々が見慣れている形ですし、扱いやすい。実数x, yを考える限り、\thetaというのが表に出てこないわけですからね。このような議論から、(最終的に実数が欲しい場合において) 極形式というのが扱いやすい形式であること、円と結びついている形式であることがわかります。

物理方面では、よく、(周期的な変数)角度\thetaを用いて描かれる量を「波」といいます。そう考えると複素数z=re^-i\thetaは波です。あなたがノートで書いているように、実数|z|^2 = r^2は波の振幅の二乗を表しています。私達が観測できるのは実数だけですし、また角度\thetaはこの表式では消えているわけですから、実際に観測されるのはこの振幅であり、信号の強度として観測されているわけです。

現実に存在する波は一概に角度\thetaで表されるようなものばかりではありません。所々に微分不可能な突起があったりしますね。そういうものを扱うにはフーリエ変換や、ラプラス変換といった道具が必要になります。

以上のような感じでどうでしょうか?あなたの求める答えになっていれば嬉しいのですが。。。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/23 00:04

    kichioと申します。投稿を再編集しましたので再度、ご教授賜りたく存じ上げます。

    キャンセル

checkベストアンサー

0

質問が再掲示されたので回答も再投稿します。繰り返しますが、数学の話と物理の話が混同しています。フーリエ変換自体は数学上のものでしかないことをあらかじめ断っておきます。

まず、フーリエ変換(ここではフーリエ級数展開にも近い)とは、「f(t)を周期関数の総和で表現しなおそう」という変換です。すなわち、「f(t)を様々な正弦関数の総和で表したらどうなるか」ということを考えるものです。

いま、「様々な正弦関数」と述べましたが、ここで正弦関数には二つのパラメータを考えます。一つは、「全体の係数」(物理の世界は「振幅」と呼ばれるもの)です。もう一つは「関数内の係数」(物理の世界では「周波数」または「振動数」と呼ばれるもの)です。

二つのパラメータのうち前者をA、後者をBとしましょう。f(t)のフーリエ変換F(w)とすると、Fとwの関係がAとBの関係に対応するものとなります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/23 14:41

    kichioと申します。再度のご回答ありがとうございます。自分では「純粋な正弦波のフーリエ変換の図」を
    理解できませんでしたが、貴殿のご回答により納得することができました。これからラプラス変換を学習し
    ていくのですが、今後ともご助言のほどよろしくお願い申し上げます。

    キャンセル

0

まずFourier級数(展開)とFourier変換を混同しているようです。
もちろんこれらは大いに関連していますが、制御工学の初歩の段階では、これらは別物と思ったほうがよいでしょう。一方は周期関数、他方はR全体で定義された関数が対象です。

ラプラス変換に直接対応するのがフーリエ変換であって、フーリエ級数ではありません。
とはいっても、制御工学で使うラプラス変換を理解するのにフーリエ変換の知識は不要です。

制御工学で重要なことは、インプットとアウトプットの関係です。

インプットをu, アウトプットをxとしましょう。するとxはuを外力項に持つ線形の微分方程式の解になりますね。というより線形の微分方程式でモデル化できる対象だけ扱うのが初級制御工学ですね。

インプット・アウトプットの関係を知りたければ、微分方程式を解いてみればわかります。しかーーし!!「解かなくてもわかる」仕組みがあるのです。その仕組とは・・・

そうです、ラプラス変換です。

ラプラス変換を使うと、インプットuとアウトプットxの関係が「伝達関数」という多項式(有理式)になるのです。そして伝達関数の特性を調べれば、プラントの特性がわかり、プラントの特性がわかれば、制御が(完璧ではないけどある程度は)できるようになるのです。

制御工学は「実社会でめちゃくちゃ役に立つ」稀有な学問です。しっかり勉強しましょう。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/23 00:03

    kichioと申します。投稿を再編集しましたので再度、ご教授賜りたく存じ上げます。

    キャンセル

  • 2017/04/23 12:20

    デルタ関数は測度(超関数)です。関数ではないので``値''は持ちません。
    敢えて、関数の言葉で述べるなら、
    「デルタ関数とは、原点において無限大、積分すると1となる``関数''」
    となります。数学的には全くの誤りですが、計算を遂行する上では何ら差し支えがない、ということでこの定義もどきは工学分野ではよく使われる言い回しです。

    式(2)のexp(-iwt)の「積分」は2pi x delta(w)です。
    カッコつきで「積分」と書いたのには理由がありますがここでは述べません。
    ほぼすべての箇所でロジックが崩壊しています。思うに基礎が全く身についていないようです。フーリエ変換について学びたいのであれば、まずは基本的な参考書にじっくり取り組むことをお勧めします。何も理解していない段階で持論を展開しても得るものはありません。

    キャンセル

  • 2017/04/23 16:03

    kichioと申します。再度のご回答ありがとうございます。貴殿のおっしゃる通り基礎からじっくり勉強し直す必要性を感じている次第です。exp(-iwt)の「積分」もやってみましたが2pi×delta(w)とはなりませ
    んでした。貴殿が前回のご回答でラプラス変換にはフーリエ変換の知識は不要であることをおっしゃって
    ました。私は時間領域から周波数領域、周波数領域からs領域に写像されると思いフーリエ変換を学び始め
    た次第でございます。制御工学とMATLABを私のような未熟なものが学習できる書籍にお心当たりがござ
    いましたら,ご紹介いただきたく存じます。よろしくお願い申し上げます。

    キャンセル

0

再度投稿しますね。ver2への投稿ということで。

私が以前回答した部分について、質問者様が編集された箇所への指摘です。

[1] 方程式x^2 = 1の解は何でしょうか? x = 1だけではありませんよ。x=-1もあります。これを忘れないでください。ただし、複素数は以前指摘しましたように、z=e^(i\theta)のように角度\thetaに依存してかけるので、この符号部分は角度依存性によって無視できます。(実際に\thetaにいくつかのよく知られている値を入れてみてください。\theta=0, piではzの符号はどうなるでしょうか?

[3] オイラーの公式e^(i\pi)=-1^が成り立つのは, \theta = \piのときです。一般の\theta`で成り立たないので、この部分を言及されている部分はナンセンスです。

[2] 複素数zの積は、それの複素共役z* = x - jy(虚数j)との積|z|^2=x^2+y^2と、z同士の積z*z=x^2-y^2+2ixyと明確に区別されます。この点を考慮ください。

複素数を扱うのは計算を楽にするためだと考えれば、そんなに大したものではありません。数式としてみれば、数直線に乗らない数を扱っているのですが・・・。ところで、この世にはsincosから構成される波しか存在しません。全ての波はそれらの足し合わせで書けるわけです。もっというと、cossinの位相部分(角度\theta)が整数nで指定され、波長(とか周波数)を変えれば、そういった日常的な波を表現できるようになります。これがフーリエ展開です。

このあたりは、私が以前紹介した本が非常に読みやすいと思うので、読み進めてみてください。もしそれでもわからないときは、わからないところを整理して、とにかく戻ることです。高校の課程で複素数が扱われているようなので、教科書ガイドでも読み進めてみるとわかりやすいと思いますよ。(戻ることは恥ではなく、それが一番の近道ですね。)

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/23 15:41

    kichioと申します。再度のご回答ありがとうございます。貴殿がご指摘された3点について私なりに考えてみました。
    [1]z=e^iθにおいてθ=0の時はe^0=1となり符号はプラス、θ=πの時はz=e^iθ、e^iθ=cosθ+isinθ=
    -1+0=-1となり符号はマイナスとなると思うのですが、符号がフーリエ変換にどのように関係する
     のかが分かりません。勉強不足で誠に恐縮なのですがご教授いただきたく存じます。よろしくお願い申
     し上げます。
    [2] e^iθでθ=πの時、e^iπ=-1となるのは分かるのですが貴殿のおっしゃる「一般のthetaではなりたた
      ない」というお話が勉強不足の為、分かりませんでした。
    [3]私はオイラーの公式を複素数の極形式において二次方程式を展開する方法でsin波を求めようとしまし
     た。貴殿のおっしゃる複素共役を考えてe^i*theta・e^-i*theta=(cosθ+isinθ)(cosθ-isinθ)を三角形
     の半角、倍角の公式を使って計算しましたところ1となってしまいます。オイラーの公式e^iθ=sinθ
     と考えることは誤っているのでしょうか?

    キャンセル

  • 2017/04/23 20:11

    分かりにくくて申し訳ありません。

    私がここで指摘させていただいたのは、非常に基礎の基礎の部分です。この部分の質問に全て答えるのは不可能だと思います。 申し訳無いのですが、これ以上お受けすることはできません。

    独学ではきついものがあると思いますが、(上でも書きましたが)是非分からないところを整理して戻って文献を当たって見てください。私が、あなたのすべきことは以下だと思います。

    [1] 複素平面の定義と定理を一通り理解する(高校の教科書)。

    [2] 関数と変数の関係を理解する。

    [3] ド・モアブルの公式の意味を理解する。

    [4] ド・モアブルの公式から物理的な意味を取り出す。

    ことです。これができて初めてフーリエ変換やラプラス変換を理解できると言えます。ただ、工学系の方なら複素数を便利な道具として割り切って使った方がいいと思います。

    以上よろしくお願いします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    xcodeでの画面サイズ変更方法

    swiftでサンプルコードを写しているのですが、参考書を今まで放置してたのでxcodeのバージョンが違うので画面サイズ変更の方法がわからないです。 simulatorでの表示画面

  • 解決済

    tableview row(cell)

    コード import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableView

  • 受付中

    この場合キャッシュが効くのか

    キャッシュが効いているのかわかりません headerにCache-Control=no-cacheを指定しているがETagやLast-Modifiedを指定しない場合、

  • 解決済

    GAS(google apps script)で一つのスプレッドシート内にある複数のスクリプトの挙動...

    GASに詳しい方、教えていただけますと助かります。 表題の件、一つのスプレッドシートに対してスクリプトが複数あってそれぞれに同じトリガーを設定している場合、そのトリガーが入っ

  • 解決済

    Monacaでtimepickerの実装

    前提・実現したいこと MonacaでiOS/Andriod両方に対応しているアプリケーションを開発していて、アラーム機能を実装しようと思い、Monacaでtimepickerのよ

  • 解決済

    atom自動補完やり方

    これのプログラミング版になります 今いろいろ調べているのですが、atom自動補完ができません。宜しくお願い致します。 リンク内容 autocomplete-p

  • 受付中

    ER図について

    つぶやきアプリを作っているのですが、 ER図を作るとする例えばどんなものがありますか?? サンプル程度でいいので教えていただきたいです

  • 解決済

    C#からGoogle Sheets APIを呼び出したい

    前提・実現したいこと Visual Studio 2015でアプリ作成中です。 C#からGoogle Sheets APIを呼び出したいのですが、実行するとエラーメッセージが表

同じタグがついた質問を見る

  • MATLAB

    155questions

    MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。