3-D radiation pattern from antenna measurement

12 ビュー (過去 30 日間)
Mike Lee
Mike Lee 2017 年 3 月 5 日
回答済み: Abhipsa 2025 年 2 月 17 日 10:45
Hi,
Are there any functions that I can use to plot 3-d radiation pattern with data (azimuth,elevation and amplitude) in Matlab?
Thank you

回答 (1 件)

Abhipsa
Abhipsa 2025 年 2 月 17 日 10:45
MATLAB File Exchange submission offers the "polarplot3d" function, which allows you to create 3D radiation patterns using polar plots: https://www.mathworks.com/matlabcentral/fileexchange/13200-3d-polar-plot. Alternatively, you can create a custom plot by using built-in functions like "meshgrid" and "surf."
Here is an example of how you can do this in MATLAB R2024b using “surf” and “meshgrid”:
% Sample data
azimuth = linspace(0, 2*pi, 360); % Azimuth angles in radians
elevation = linspace(-pi/2, pi/2, 180); % Elevation angles in radians
[Az, El] = meshgrid(azimuth, elevation);
% Sample amplitude data (replace with your actual data)
amplitude = abs(sin(El) .* cos(Az));
% Convert spherical to Cartesian coordinates
[X, Y, Z] = sph2cart(Az, El, amplitude);
% Plot the 3D radiation pattern
figure;
surf(X, Y, Z, amplitude, 'EdgeColor', 'none');
colormap(jet);
colorbar;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D Radiation Pattern');
axis equal;
view(3);
The output for the above code:
output
You can refer to the below MATLAB documentations for more details:
To access documentation pages for the release that you are using, you can use the "doc" command in MATLAB command window (https://www.mathworks.com/help/matlab/ref/doc.html).
I hope this helps!

カテゴリ

Help Center および File ExchangePolar Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by