3D plot using matlab
1 回表示 (過去 30 日間)
古いコメントを表示
Hey..I'm trying to plot the following code but i keep getting this error: (??? Error using ==> surf at 78 Z must be a matrix, not a scalar or vector.)I tried using mesh i got the same error and whe i tried using plot3 it only resulted in straight line plot and not 3D..Help !!
%%Defining givens:
f= 300e6; %%Chosen frequency
c= 3e8; %%Free space
lambda= c./f; %%Wavelenght
l_2=lambda./2;
k= (2.*pi)./l_2; %%Wave number
Io=5; % Chosen maximum value of the current
eighta=377; % Intrinsic impedance (free space)
r=l_2/(2.*pi); % Distance
h= 0:1:100; %%Variable height from the ground
L=1.25*l_2; % Dipole length
theta= 2*pi; %%Computing the requirements:
%%Electric field:
A= (k.*L.*Io.*exp(-1i.*r.*k))./(4.*pi.*r);
B= 2.*(cos(cos(theta).*k.*h));
E_F= eighta.*1i.*(A).*sin(theta).*(B);
[x,y,z]=sph2cart(h,theta-pi/2,E_F); % Converting to cartesian coordinates
% Generating 3D plot
surf(x,y,z) % Generating 3D plot
colormap(JET);
title ('Electric Field in 3D plot')
legend ('Heigth','Theta','Electric Field')
rotate3D on
axis image
0 件のコメント
採用された回答
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!