用MATLAB程序c = 2+3i,则c的共轭怎么表示??

用MATLAB程序c = 2+3i,则c的共轭怎么表示??,第1张

用MATLAB程序c = 2+3i,则c的共轭薯改咐为 Zc = conj(c)。其过程如歼搏下:数纯

>>c = 2+3i

>>Zc = conj(c)

共轭梯度法

function f=conjugate_grad_2d(x0,t)

%please input this:conjugate_grad_2d([2,2],0.05)

x=x0

syms xi yi a

f=xi^2-xi*yi+3*yi^2

fx=diff(f,xi)

fy=diff(f,yi)

fx=subs(fx,{xi,yi},x0)

fy=subs(fy,{xi,yi},x0)

fi=[fx,fy]

count=0

while double(sqrt(fx^2+fy^2))>t

s=-fi

if count<=0

s=-fi

else

s=s1

end

x=x+a*s

f=subs(f,{xi,yi},x)

f1=diff(f)

f1=solve(f1)

if f1~=0

ai=double(f1)

else

break

x,f=subs(f,{xi,yi},x),count

end

x=subs(x,a,ai)

f=xi^2-xi*yi+3*yi^2

fxi=diff(f,xi)

fyi=diff(f,yi)

fxi=subs(fxi,{xi,yi},x)

fyi=subs(fyi,{xi,yi},x)

fii=[fxi,fyi]

d=(fxi^2+fyi^2)/(fx^2+fy^2)

s1=-fii+d*s

count=count+1

fx=fxi

fy=fyi

end

x,f=subs(f,{xi,yi},x),count

%这是针对DFT的,需要圆周取反,如果不扒埋是DFT则直接取反

x=[0 1-2j 2-j 3+5j 4+2j 5+2j 6+2j 7 8 9]%随意取一个复数数组

figure

stem(x)

xLength=length(x)

i=0:xLength-1

j=mod(-i,xLength)+1%圆周取反,注意matlab的数组下标从1开始

xcc=conj(x(j))%取共轭

xcs=1/2*(x+xcc)%圆周共轭对称部分

xca=1/2*(x-xcc)%圆周共轭反对称部分

x=xcs+xca

figure

stem(x)

若要弄清楚共轭对称分量和共轭反对称分量,请看博客:http://blog.csdn.net/lv_xinmy/article/details/23863163

此外,可以根据DFT对称特性来求共轭对称分量和共轭反对称分量,性质请看图片备此核

根据最后两条性质,先求fft得到频谱仿掘序列,分别取real( )和imag( ),再使用ifft得到的时域序列即共轭对称分量和共轭反对称分量,代码晚点提交~


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8204161.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存