定义实数符号变量,求符号运算结果,结果是实部+虚步的形式,请高手帮忙!
符号运算,a b是两个实数,求(a+b*j)*(a+b*j)的结果,要运算结果是:(a*a-b*b)+2*a*b*j的形式。即实部+虚部的形式。
求高手们帮忙解决一下,谢谢! 最好把matlab程序写出来!
syms a b real
d=(a+i*b)*(a+i*b), d=simplify(d)
d =
(a+i*b)^2
d =
(a+i*b)^2
这个是我编的程序,高手们看看怎么改才能得出实部+虚部的形式。 谢谢
[ 本帖最后由 ChaChing 于 2009-11-20 14:07 编辑 ] 试不出LZ要的, 但可以取出实部及虚部
syms a b
d=(a+i*b)*(a+i*b), dd=expand(d); real(dd),imag(dd)
[ 本帖最后由 ChaChing 于 2009-11-20 14:02 编辑 ] 可以通过sym2str函数(可以在官网下载:http://www.mathworks.com/matlabcentral/fileexchange/19217-sym2str)实现:
clc
clear
syms a b real
d=(a+i*b)*(a+i*b);
d=expand(d);
disp()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-b.^2+a.^2+i*2.*a.*b
呵呵,有点复杂。感觉分别显示实部和虚部也挺好 奇怪! 昨天明明试过 dd=expand(d); real(dd)
记得可以跑出a^2 - b^2
怎今天试都是
ans =
a^2/2 + i*a*b - b^2/2 + conj(a)^2/2 - i*conj(a)*conj(b) - conj(b)^2/2
回复 板凳 friendchj 的帖子
谢谢你的指点!回复 地板 ChaChing 的帖子
谢谢你的指点! 原帖由 ChaChing 于 2009-11-21 16:59 发表 http://www.chinavib.com/forum/images/common/back.gif奇怪! 昨天明明试过 dd=expand(d); real(dd)
记得可以跑出a^2 - b^2
怎今天试都是
ans =
a^2/2 + i*a*b - b^2/2 + conj(a)^2/2 - i*conj(a)*conj(b) - conj(b)^2/2
刚又看了下, 原来是复制少个real!
syms a b real
d=(a+i*b)*(a+i*b), dd=expand(d); real(dd),imag(dd)
页:
[1]