Every time I run this code, I get "Error using plot Vectors must be the same length.
조회 수: 8 (최근 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)
xlabel('T/T_0')
ylabel('intensity')
zlabel('z')
title('gaussian pulse')
(i want this graph show in attach file)
댓글 수: 2
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)
채택된 답변
Walter Roberson
2024년 11월 15일
The equation for guassian pulse does not involve complex numbers.
댓글 수: 0
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
