Greetings dear friends, I am trying to graph this integral so that I can obtain a graph x =f(t), thanks for your help!

1 vue (au cours des 30 derniers jours)
I need to get this curve in my 3D graph:
My code which I was working is this:
Thank you dear friends!
  4 commentaires
Paul
Paul le 26 Fév 2022
How does exp(i*p*x) in the equation become just cos(p*x) in the code? Unless of course only the real part of the integral is goal.
Torsten
Torsten le 26 Fév 2022
The imaginary part of the function is odd in p - so the integral is 0.

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 25 Fév 2022
Modifié(e) : Voss le 25 Fév 2022
Note that t > 0 and the grids on the surface in the desired image are more widely spaced than the actual points where the surface has been calculated (i.e., there is curvature in between grid lines).
t = linspace(0.0001,2,50);
x = linspace(-2,2,50);
[T,X] = meshgrid(t,x);
for i = 1:numel(x)
for j = 1:numel(t)
% f = @(p)1/pi*sqrt(2*pi)*sin(p)./p.*exp(-T(i,j).*p.^2).*cos(p.*X(i,j));
f = @(p)1/(pi*sqrt(2*pi))*sin(p)./p.*exp(-T(i,j).*p.^2).*cos(p.*X(i,j));
F(i,j) = integral(f,-Inf,Inf);
end
end
surf(T,X,F);
colormap(flip(autumn()));
xlabel('t');
ylabel('x');
zlabel('u(x,t)');
  2 commentaires
Torsten
Torsten le 25 Fév 2022
f = @(p)1/(pi*sqrt(2*pi))*sin(p)./p.*exp(-T(i,j).*p.^2).*cos(p.*X(i,j));
instead of
f = @(p)1/pi*sqrt(2*pi)*sin(p)./p.*exp(-T(i,j).*p.^2).*cos(p.*X(i,j));
Voss
Voss le 25 Fév 2022
Oh yeah! Thanks!
I saw your comment before, but then I just typed in the code from the screenshot in the question anyway. D'oh!

Connectez-vous pour commenter.

Plus de réponses (1)

Lewis HC
Lewis HC le 1 Mar 2022
I really don't know what I would do without your great help, thank you very much dear friends, you are the best!

Community Treasure Hunt

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

Start Hunting!

Translated by