# How to implement Array factor in MATLAB?

55 ビュー (過去 30 日間)
FARHA KHAN 2021 年 12 月 5 日 clc
clear all
close all
%arf of cca 4,16 ele
c=3*(10^8);
f=30*(10^9);
lambda=c/f;
l=[1 3] %mode
l = 1×2
1 3
r=[0.5 1.5]*lambda %radii of each ring
r = 1×2
0.0050 0.0150
k=(2*pi)/(lambda);
phio=0;
phi=0;
theta=0;
n=[4 16]; %no of ele
phi=[90:90:360 zeros(1,12); 22.5:22.5:360]
phi = 2×16
90.0000 180.0000 270.0000 360.0000 0 0 0 0 0 0 0 0 0 0 0 0 22.5000 45.0000 67.5000 90.0000 112.5000 135.0000 157.5000 180.0000 202.5000 225.0000 247.5000 270.0000 292.5000 315.0000 337.5000 360.0000
AF(1,1) = 0;
for m=1:2
for i=1:n(m)
end
end
Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 2-by-16.

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

### 回答 (3 件)

Walter Roberson 2021 年 12 月 5 日
phi=[90:90:360 zeros(1,12); 22.5:22.5:360] is a 2 x 16 array.
The subtraction phi-phi(m,i) is taking all of phi and subtracting a scalar from it. That is going ot give you a 2 x 16 result because phi is 2 x 16. So the right hand side of the expression is going to be 2 x 16
Your formula defines AF(phi,I) where phi and I appear to be both M x N matrices. With your phi being 2 x 16 you should expect that the dimensions of AF should be 2 x 16 x (size of I) -- and that is after the double summation. Your code is not even doing the double summation.
##### 4 件のコメント表示非表示 3 件の古いコメント
FARHA KHAN 2021 年 12 月 5 日
yeah but its not doing double summation

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

FARHA KHAN 2021 年 12 月 5 日

AF= zeros(2,16);
for m=1:2
for i=1:n(m)
end
end
AFK=AF
is this right?
I am getting 16 ele but im supposed to get 20 @Walter Roberson
##### 2 件のコメント表示非表示 1 件の古いコメント
FARHA KHAN 2021 年 12 月 5 日

yeah
but 12 elements are zeros so i said 20 .
Now I am gettig right 2*16
clc
clear all
close all
%arf of cca 4,16 ele
c=3*(10^8);
f=30*(10^9);
lambda=c/f;
l=[1 3] %mode
r=[0.5 2.5]*lambda %radii of each ring
k=(2*pi)/(lambda);
phio=0;
phi=0;
theta=0;
n=[4 16]; %no of ele
phi=[90:90:360 zeros(1,12); 22.5:22.5:360]
AF= zeros(2,16);
for m=1:2
for i=1:n(m)
end
end
AFK=AF
By this code
Just can you check if it is right? @Walter Roberson

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

ATHULRAJ 2023 年 2 月 27 日 8:48
AF= zeros(2,16);
for m=1:2
for i=1:n(m)
end
end
AFK=AF

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

### カテゴリ

Find more on Matrix Indexing in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!