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)
Show older comments
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
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.
Accepted Answer
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
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
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!
More Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!