Everything being the same, then why does matrix C give different values in the two codes?
조회 수: 1 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
답변 (1개)
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)]
댓글 수: 3
Cris LaPierre
2021년 10월 16일
Then you misunderstand what the Kroeneker Tensor Product is.
C is a 40x9 matrix in your first code.
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)
size(C)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!