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)
Afficher commentaires plus anciens
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
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.
Réponse acceptée
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
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
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!
Plus de réponses (1)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!