function x = signalgen
c = 3*(10^8);
f = 3*10^8;
lambda = c / f;
k = 2 * pi / lambda;
er = 1;
epsilon0 = 8.854187*(10^(-12));
epsilon = er * epsilon0;
mu0 = 4 * pi * 10^(-7);
etha = sqrt(mu0/epsilon);
% antenna length
l = 2;
amp = 1;
% Number of elements on the array
m = 5;
% Spacing between elements:
d = 0.1;
etheta = zeros(m,360);
wav = zeros(m,360);
for i = 1:m
for theta = 1:360
% Distance
r = 100;
% Eq. (4-58a), Antenna Theory - Balanis
integrand = @(zl)(ie(amp, k, l, zl, 2*pi*d*(i-1)*sin(pi/4)/lambda) * exp(1i * k * zl * cos(2*pi*theta/360)));
etheta(i,theta) = 1i * etha * ((k * exp(- 1i * k * r))/(4 * pi * r)) * sin(2*pi*theta/360) * ...
integral(integrand,(-l/2),(+l/2), 'ArrayValued', true);
end
% Poynting vector:
wav(i,:) = etheta(i,:).*conj(etheta(i,:))/etha;
h = polar((2*pi)/360:2*pi/360:2*pi,(wav(i,:)));
set(h, 'Color', [1/(i^1.5) 1/i 1/(m+1-i)]);
hold all
end
end