MATLAB: How can i plot radiation pattern in cartesian coordinate in matlab

nn

Best Answer

Dear Naveedp, here is the code you can use for plotting:
theta = -90:90;
theta_rad = degtorad(theta);
r = 1;
elevation = 0;
[x,y,z] = sph2cart(theta_rad,elevation,r);
E_theta = 1j * 30 * exp(-1j * 2 * pi) * sin(5 * pi * sin(theta)) ./ (5 * pi * sin(theta));
E_phi = 1j * 30 * exp(-1j * 2 * pi) * cos(theta) .* sin(3 * pi * sin(theta)) ./ (3 * pi * sin(theta));
figure, subplot(2,1,1), plot3(x, y, abs(E_theta)), xlabel('x'), ylabel('y'), zlabel('z'), title('E(theta) amplitude')
subplot(2,1,2), plot3(x, y, angle(E_theta)), xlabel('x'), ylabel('y'), zlabel('z'), title('E(theta) phase')
figure, subplot(2,1,1), plot3(x, y, abs(E_phi)), xlabel('x'), ylabel('y'), zlabel('z'), title('E(phi) amplitude')
subplot(2,1,2), plot3(x, y, angle(E_phi)), xlabel('x'), ylabel('y'), zlabel('z'), title('E(phi) phase')
Since, I did't see use of angle phi so I assumed it to be 0 and assumed value of radius to be 1. I hope it will help you
Related Question