Matlab問(wèn)題
>> a=[exp(i*3.14) exp(-i*3.14)]
a =
-1.0000 + 0.0016i -1.0000 - 0.0016i
>> phase(a)
ans =
3.1400 3.1432
>> b=-1.0000 - 0.0016i
b =
-1.0000 - 0.0016i
>> phase(b)
ans =
-3.1400兩次算的的結(jié)果為什么不一樣呢?
我也遇到過(guò)這種問(wèn)題,好像矩陣運(yùn)算的時(shí)候都會(huì)出現(xiàn)這種誤差,按照下面的方法來(lái)就好了
>> a=[exp(i*3.14),exp(-i*3.14)] ;
b1=phase(a(1,1))
b2=phase(a(1,2))
b1 =
3.1400
b2 =
-3.1400
那為什么HFSS仿真出來(lái)的相位要用phase函數(shù)處理呢,不直接把仿真出來(lái)的S21的相位作為其相位呢?
請(qǐng)問(wèn)你研究過(guò)PRE70,,016608(2004)這篇文章沒(méi)?
電磁仿真軟件都可以輸出s2p格式的文件,里面可以寫(xiě)成幅度和相位的輸出
hfss我用的不多,你可以試試
那個(gè)文章我沒(méi)有研究過(guò)。。
我查了一下phase函數(shù)的用法如下:phase 和 angle 在輸入為單個(gè)標(biāo)量數(shù)據(jù)時(shí),沒(méi)有差別,二者都是用 atan2 函數(shù)來(lái)求輸入數(shù)據(jù)的四象限輻角。但是對(duì)于向量或矩陣數(shù)據(jù)輸入時(shí),二者差別比較大。
1. phase 只支持標(biāo)量和一維(行、列)向量輸入,不支持二維或高維矩陣輸入。angle 可以支持標(biāo)量或任意維數(shù)矩陣輸入
2. 對(duì)于向量輸入,phase 會(huì)對(duì)輸出結(jié)果做判斷,如果相鄰兩個(gè)輸出角度的差的絕對(duì)值超過(guò) 3.5,phase 會(huì)對(duì)其重新處理,確保相鄰兩個(gè)角度差值的絕對(duì)值永遠(yuǎn)不超過(guò)3.5。而 angle 函數(shù)對(duì)每個(gè)數(shù)據(jù)獨(dú)立求其輻角,不會(huì)因?yàn)橄噜徑嵌炔畛瞿硞€(gè)數(shù)值而做特殊處理。所以,從這個(gè)意義上講,angle 函數(shù)是我們通常需要使用的求角度的函數(shù),而 phase 的特殊處理,會(huì)導(dǎo)致得出與angle不同的結(jié)果。
還真是呢,angle就對(duì)了,謝謝你哈研究得挺仔細(xì)的