Every time I run this code, I get "Error using plot Vectors must be the same length.

3 次查看(过去 30 天)
beta= 50*10^-24;
z=linspace(0,100,100);
T_0= 100*10^-12;
T= linspace(-10*T_0,10*T_0,100);
U =((T_0)./sqrt(T_0^2-1i*beta*z)).*exp(-T.^2/(2*(T_0^2-1i*beta*z)));
plot3((T/T_0),U,z)
Warning: Imaginary parts of complex X, Y, and/or Z arguments ignored
xlabel('T/T_0')
ylabel('intensity')
zlabel('z')
title('gaussian pulse')
(i want this graph show in attach file)
  2 个评论
Walter Roberson
Walter Roberson 2024-11-15
The code does not generate errors about the vectors needing to be the same length.
The code does generate a warning about ignoring the imaginary parts.
If you examine U, you find that it involves sqrt(T_0^2-1i*beta*z) twice. Because of the 1i portion of the calculation, the sqrt() is going to generate complex-valued numbers. So U is going to be complex-valued.
The behavior of plot3() is to treat the code as if you had used real(U)
Aayushi
Aayushi 2024-11-15
Actually this is related to my phd work and it should give gaussian pulse by using same equation so what should I do for this

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2024-11-15
The equation for guassian pulse does not involve complex numbers.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by