Double Integration error using /

14 Ansichten (letzte 30 Tage)
Shanmakha Mangadahalli Siddaramu
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

Akzeptierte Antwort

Chunru
Chunru am 1 Dez. 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

Weitere Antworten (1)

Mike Croucher
Mike Croucher am 1 Dez. 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

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by