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 view (last 30 days)
I need to get this curve in my 3D graph:
My code which I was working is this:
Thank you dear friends!
  4 Comments
Paul
Paul on 26 Feb 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.

Sign in to comment.

Accepted Answer

Voss
Voss on 25 Feb 2022
Edited: Voss on 25 Feb 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 Comments
Torsten
Torsten on 25 Feb 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 on 25 Feb 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!

Sign in to comment.

More Answers (1)

Lewis HC
Lewis HC on 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!

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!