Integral calculation using matlab

8 visualizzazioni (ultimi 30 giorni)
Hello i wish to calculate the following integral
My difficulty stems from the absolute value which is "outside" of the integral with respect to θ

Risposta accettata

Bruno Luong
Bruno Luong il 4 Ago 2020
Modificato: Bruno Luong il 4 Ago 2020
Feel free to change these hyper-parameters
n = 3
k = 2*pi*rand()
integral(@(phi) arrayfun(@(phi) abs(integral(@(theta) exp(1i*k*cos(theta-phi)).*cos(n*theta), 0, 2*pi)).^2, phi), 0, 2*pi)
  4 Commenti
Matt J
Matt J il 4 Ago 2020
Looks like a square .^2 is missing from the absolute value.
Bruno Luong
Bruno Luong il 4 Ago 2020
Oh heah, thank you for spotting the error Matt. I'll fix it.

Accedi per commentare.

Più risposte (1)

Matt J
Matt J il 4 Ago 2020
Modificato: Matt J il 4 Ago 2020
My difficulty stems from the absolute value which is "outside" of the integral
Why is this a difficulty? Because it prevents you from using integral2()? Just apply integral() twice instead.
  5 Commenti
MINAS KOUROUMPLAKIS
MINAS KOUROUMPLAKIS il 4 Ago 2020
This is what i do and i get an error message
fun=@(x,y)exp(-1i*cos(x-y)).*cos(x)
fun = @(x,y)exp(-1i*cos(x-y)).*cos(x)
>> integral(@(x) f(x,y),0,2*pi)
Error using subsindex
Function 'subsindex' is not defined for values of class 'function_handle'.
Error in sym/subsref (line 771)
R_tilde = builtin('subsref',L_tilde,Idx);
Steven Lord
Steven Lord il 4 Ago 2020
Write a function to compute the inner integral. This function should accept phi. One wrinkle here is that since the outer integral call is going to pass a vector of values into it as phi, your inner integral call will need to say that the function is ArrayValued.
Write a function that takes the absolute value of that inner integral function.
Write a function to compute the outer integral of the absolute value function.
If you try this and it doesn't work, show us the code you wrote and we may be able to offer some guidance.

Accedi per commentare.

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by