필터 지우기
필터 지우기

multiplication of matrices with different sizes

조회 수: 5 (최근 30일)
Sara
Sara 2022년 12월 14일
댓글: Sara 2022년 12월 14일
i have to calculate the SINR ratio for zero forcing precoding in cell free mmimo i tried to reperesent the part with red mark under it like that ( pilot contamination part)
M=20
K=10
G=M*K matrix
betta=M*K matrix
C=conj(G);
o=G.';
p= zeros(M,1);
for m=1:M
p(m)=(BETAA(m).*(1-((G(m)/BETAA(m)))) ;
end
PC=(abs(p)).^2;
s=zeros(M,1) ;
for m=1:M
s(m)=(inv(C*o).*o.*PC.*inv(C.*o).*C); % thefinal vector
end
etta = m*1 vector
the code give error on s(m) that said 'matrix dimensions must agree'
what is the wrong with this code ? did i repesent these matrix right ? and how can i do multiplication of matrices with different sizes

답변 (1개)

VBBV
VBBV 2022년 12월 14일
Use a cell array for s
s{m}=(inv(C*o).*o.*PC.*inv(C.*o).*C);
  댓글 수: 4
VBBV
VBBV 2022년 12월 14일
You can follow this approach
M=diag(ones(20,1));
K=20;
G=M*K;
betta=M*K;
C=conj(G);
o=G.';
p=zeros(length(M),length(M));
for m=1:length(M)
p(m,m)=betta(m,m)*(1--G(m,m)/betta(m,m)) ;
end
PC=(sum(p)).^2;
% % s=zeros(M,1) ;
for m=1:length(M)
s{m}=(inv(C*o).*o.*PC(m).*inv(C.*o).*C); % thefinal vector
end
s.'
ans = 20×1 cell array
{20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double} {20×20 double}
Sara
Sara 2022년 12월 14일
Thanks for your efforts i will try this

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Analog Input and Output에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by