Why this piece of code gives error?

2 ビュー (過去 30 日間)
Sadiq Akbar
Sadiq Akbar 2023 年 2 月 28 日
コメント済み: Sadiq Akbar 2023 年 2 月 28 日
When I run the following code, it gives me error on line 19. The code is:
clear;clc;
c = 3e8; % signal propagation speed
fc = 1e9; % signal carrier frequency
lambda = c/fc; % wavelength
thetaad = -30:5:30; % look directions
thetaan = [-40 40]; % interference direction
ula = phased.ULA(10,lambda/2);
ula.Element.BackBaffled = true;
% Calculate the steering vector for null directions
wn = steervec(getElementPosition(ula)/lambda,thetaan);
% Calculate the steering vectors for lookout directions
wd = steervec(getElementPosition(ula)/lambda,thetaad);
% Compute the response of desired steering at null direction
rn = wn'*wd/(wn'*wn);
% Sidelobe canceler - remove the response at null direction
w = wd-wn*rn;
% Plot the pattern
pattern(ula,fc,-180:180,0,'PropagationSpeed',c,'Type','powerdb',...
'CoordinateSystem','rectangular','Weights',w);
hold on; legend off;
The error is:
Error using /
Matrix dimensions must agree.
Error in abc (line 19)
rn = wn'*wd/(wn'*wn);

回答 (1 件)

Anton Kogios
Anton Kogios 2023 年 2 月 28 日
Your multiplications in Line 19 give a 2 by 13 matrix in the numerator and a 2 by 2 matrix in the demoninator.
To perform matrix multiplication/division, you need the number of columns of the first to be equal to the number of rows of the second. So, a fix to your error may be this, but it depends what you are trying to do:
rn = (wn'*wd)'/(wn'*wn);
  3 件のコメント
Anton Kogios
Anton Kogios 2023 年 2 月 28 日
Sorry Sadiq, I wish I could help further but I am not too familar with the content of your question. Hopefully someone else is able to help out.
I did notice, however, that since you turn hold on, you can just run the code twice with each separate value, so maybe you can create a loop and function to meet your needs.
Sadiq Akbar
Sadiq Akbar 2023 年 2 月 28 日
Thanks a lot for your kind response dear Anton Kogios. Yes, you are right. May be someone else may help me out. Thanks once again.

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

カテゴリ

Help Center および File ExchangeDirection of Arrival Estimation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by