3D surface plotting. Error (z must be a matrix)

1 visualización (últimos 30 días)
Ubaid Ullah
Ubaid Ullah el 12 de Abr. de 2019
Editada: KSSV el 12 de Abr. de 2019
x_length=50;
for y_length=0:200;
z_length=y_length;
%[z,y]=meshgrid(z_length,y_length);
%i=0:200;
Hyp1=sqrt((x_length.^2)+(y_length.^2));
Hyp2=sqrt((Hyp1.^2)+(z_length.^2));
ctheta_i=y_length/Hyp2;
Lang_walldb=20*(1-ctheta_i).^2;
surf(Lang_walldb)
grid on
xlabel('y length');
ylabel('z length ');
zlabel('angular loss')
hold on
set(gca,'View',[-29,-22]);
end
  2 comentarios
madhan ravi
madhan ravi el 12 de Abr. de 2019
you never seem to use z & y after meshgrid() call , re-examine why you used it in the first place
Walter Roberson
Walter Roberson el 12 de Abr. de 2019
Nothing in your calculation is a vector, let alone a matrix. Your Lang_walldb is always going to be a scalar at the point you do the surf()

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 12 de Abr. de 2019
Editada: KSSV el 12 de Abr. de 2019
x_length=0:50;
y_length=0:200 ;
[x_length,y_length] = meshgrid(x_length,y_length);
Hyp1=sqrt((x_length.^2)+(y_length.^2));
Hyp2=sqrt((Hyp1.^2)+(y_length.^2));
ctheta_i=y_length./Hyp2; % edited as suggested my Madhan Ravi
Lang_walldb=20*(1-ctheta_i).^2;
surf(Lang_walldb)
shading interp
grid on
xlabel('y length');
ylabel('z length ');
zlabel('angular loss')
hold on
set(gca,'View',[-29,-22]);
  2 comentarios
madhan ravi
madhan ravi el 12 de Abr. de 2019
ctheta_i=y_length./Hyp2; % missed a dot in front of /
KSSV
KSSV el 12 de Abr. de 2019
Yes...edited..

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by