プロが教える店舗&オフィスのセキュリティ対策術

Matlabでの複素数の実部・虚部成分の成分表示方法についての質問です。

例えば、
f=3+3*i
fr=real(f)
fi=imag(f)

とするとそれぞれ実部成分と虚部成分が求められますが、複素数fが以下の様に任意の変数(a)を使うとうまくいきません・・・

syms a;
f=a^2+i
fr=real(f)
fi=imag(f)

結果:fr =1/2*a^2+1/2*conj(a)^2
fi =-1/2*i*(a^2+2*i-conj(a)^2)

うまく"fr=a^2,fi=1"と結果を表示するためにはどうしたらいいのでしょうか・・・
分かる方、よろしくお願いいたします。

A 回答 (2件)

syms a real;



で出来るはずです。
    • good
    • 0
この回答へのお礼

ありがとうございました。Matlab初心者ですが、頑張ります・・・

お礼日時:2003/09/30 11:25

>うまく"fr=a^2,fi=1"と結果を表示するためにはどうしたらいいのでしょうか・・・



a は 複素数 ですので、

>結果:fr =1/2*a^2+1/2*conj(a)^2
>fi =-1/2*i*(a^2+2*i-conj(a)^2)

が正しいです。実数ならば fr=a^2,fi=1 となるでしょうが。

この回答への補足

aを実数として演算して
fr=a^2,fi=1
と結果を導くにはどうすればいいのですか??

補足日時:2003/09/29 19:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!