Everything being the same, then why does matrix C give different values in the two codes?

1 次查看(过去 30 天)
Sadiq Akbar
Sadiq Akbar2021-10-16
评论: Sadiq Akbar ,2021-10-19
All the values are the same in both the codes, then why does matrix C give different values in both the codes?
code1:
u=[30 50 110];
M=10;
N=4;
K=3;
d=0.5;
fn=@(u,k) exp(1j*2*pi*d*(0:k-1).' * sind(u));
A=fn(u,M);
B=fn(u,N);
C=kron(B,A);
code2
u=[30 50 110];
M=10;
N=4;
K=3;
d=0.5;
C = STM(u,M,N,d);
function C = STM(u,M,N,d)
A=exp(1j*2*pi*d*(0:M-1).'*sind(u));
B=exp(1j*2*pi*d*(0:N-1).'*sind(u));
C = zeros(size(A, 1)*size(B, 1), length(u));
for idxK = 1 : 1 : length(u)
C(:, idxK) = kron(B(:, idxK), A(:, idxK));
end
end

回答(1 个)

Cris LaPierre
Cris LaPierre 2021-10-16
Because they are not the same?
Your output should be [size(A, 1)*size(B, 1), size(A, 2)*size(B, 2)]
See the More About > Kroeneker Tensor Product for what kron is calculating.
  3 个评论
Sadiq Akbar
Sadiq Akbar 2021-10-19
Thank you dear Cris LaPierre for your response. No you didn't take my point. I was saying that I want to make the response of the 1st code like that of 2nd. You tried but that is not according to my question. I wanted to make the response of 1st code like that of 2nd and I did that myself with several trial and errors. Thank you once again

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by