Plotting a two dimensional equation with an integral

5 vues (au cours des 30 derniers jours)
Danisaurus
Danisaurus le 22 Jan 2021
Commenté : Alan Stevens le 22 Jan 2021
Hi!
I would like to plot the function
For different values of K. How do I do this?
Thanks in advance
  2 commentaires
Tayyab Khalil
Tayyab Khalil le 22 Jan 2021
This is what i have come up with, i have taen out the k in the exponent out of the integration as well because for some reason that wasn't working inside, shouldn't have any effect on the end result really. And i assumed that you are working with a fixed value of r.
r = 10; k = -3:0.1:3;
fun = @(x) cos(x).^2.*exp(-0.5*(r*sin(x)).^2)/sqrt(2*pi);
I = k.*exp(-k.^2).*integral(fun, -pi/2, pi/2)
plot(k, I);
Alan Stevens
Alan Stevens le 22 Jan 2021
@Tayyab: Note that
exp(-k.^2).*exp(-0.5*(r*sin(x)).^2) = exp(-k.^2-0.5*(r*sin(x)).^2)
not
exp(-0.5*(k*r*sin(x)).^2)

Connectez-vous pour commenter.

Réponse acceptée

Alan Stevens
Alan Stevens le 22 Jan 2021
Something like this
K = 1:10; % or whatever values you want
for i = 1:numel(K)
I(i) = integral(@(theta) Ifn(theta,K(i)),-pi/2,pi/2);
end
plot(K,I),grid
function kern = Ifn(theta,K)
r = 2; % replace with true value
kern = cos(theta).^2.*exp(-(K*r*sin(theta)).^2/2)/(2*pi);
end

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by