Azzera filtri
Azzera filtri

Plotting a two dimensional equation with an integral

1 visualizzazione (ultimi 30 giorni)
Hi!
I would like to plot the function
For different values of K. How do I do this?
Thanks in advance
  2 Commenti
Tayyab Khalil
Tayyab Khalil il 22 Gen 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 il 22 Gen 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)

Accedi per commentare.

Risposta accettata

Alan Stevens
Alan Stevens il 22 Gen 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

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by