Hi,
I am trying to do double integration. But I am getting following error.
inte = @(y,x) (cos(x).^2)/(1 + alpha/(cos(x)*sqrt(1 - 1/y.^2))).^2*(1/y.^3 - 1/y.^5);
integral2(inte,1,Inf,0,pi/2)
Error: Error using /
Matrix dimensions must agree

 Réponse acceptée

Chunru
Chunru le 1 Déc 2021
Keep in mind that the function should be defined for vector arguments x and y. Therefore some * and / should be changed to .* and ./.
alpha = 1;
inte = @(y,x) (cos(x).^2)./(1 + alpha./(cos(x).*sqrt(1 - 1./y.^2))).^2 .*(1./y.^3 - 1./y.^5);
integral2(inte,1,Inf,0,pi/2)
ans = 0.0319

Plus de réponses (1)

Mike Croucher
Mike Croucher le 1 Déc 2021
You need to vectorise your equation
alpha = 1.0;
inte = @(y,x) (cos(x).^2)./(1 + alpha./(cos(x).*sqrt(1 - 1./y.^2))).^2.*(1./y.^3 - 1./y.^5);
integral2(inte,1,Inf,0,pi/2)
ans =
0.0319
You didn't define alpha so I took a guess.
Hope this helps,
Mike

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by