Simplifying complex multiplications by means of polar coordinates

5 ビュー (過去 30 日間)
D_coder
D_coder 2020 年 3 月 12 日
編集済み: James Tursa 2020 年 3 月 12 日
I have a complex matrix A of size and another complex matrix P that has same size as A. But abs(P) = ones(size(M,N)) which indicates that P only contains phase related components and since it only contains phase related components it wont effect abs(A) when A.*P is performed. Coming to my problem. I want to reduce the complex multiplications of A.*P to complex additions angle(A) + angle(B). The pseudo code is as follows.
while above the interface
A = A.*P;
Accum(i,:) = sum(A,1);
i = i+1
end
I am stuck in the accum part. I am not getting how to join both absolute and phase without multiplying them before I sum all the M rows.
My approach so far as been follows:
absA = abs(A);
anA = angle(A);
anP = angle(P)
while above the interface
anA = anA + anP;
Accum(i,:) = sum(A,1); % I am stuck in the Accum part
i = i+1
end
  5 件のコメント
D_coder
D_coder 2020 年 3 月 12 日
The magnitudes are not 1, the magnitude is 1 only for matrix P. Was wondering if we had some function that would do some operation in polar form and then convert back to rectangular form?
Walter Roberson
Walter Roberson 2020 年 3 月 12 日
Ok but you are not changing the magnitudes of any A entry so
Accum should come out with angle sum(angle(original A), 1) + iterations * sum(angle(P), 1) and magnitude sum(magnitude(original A), 1)
I think.

サインインしてコメントする。

回答 (1 件)

James Tursa
James Tursa 2020 年 3 月 12 日
編集済み: James Tursa 2020 年 3 月 12 日
It looks like your accumulation is trying to sum polar coordinates. You can't do that. I.e., if you have (r1,theta1) and (r2,theta2), you can't directly sum them in the fashion you are trying to do in polar coordinates. You would have to convert them back to cartesian coordinates, do the sum, and then convert back to polar to get your new r and theta values. Or do some combination of Law of Cosines and Law of Sines to get the new polar result. I don't see how you can get your proposed scheme to work.

カテゴリ

Help Center および File ExchangeSparse Matrices についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by