Integral2 Error message

9 views (last 30 days)
Kaylee Chavez
Kaylee Chavez on 10 Feb 2021
Commented: Walter Roberson on 26 Nov 2022
I am having some difficulty in verifying my answer for an iterated integral. I am looking to solve
>> F = @(x,y) x/y + y/x
F =
function_handle with value:
@(x,y)x/y+y/x
>> q = integral2(F,1,2,1,4)
After running it, I have the following error messages:
Error using integral2Calc>integral2t/tensor (line
241)
Integrand output size does not match the input
size.
Error in integral2Calc>integral2t (line 55)
[Qsub,esub] = tensor(thetaL,thetaR,phiB,phiT);
Error in integral2Calc (line 9)
[q,errbnd] =
integral2t(fun,xmin,xmax,ymin,ymax,optionstruct);
Error in integral2 (line 106)
Q =
integral2Calc(fun,xmin,xmax,yminfun,ymaxfun,opstruct);
>>
Is there a way to fix this? I calculated the actual answer to be about 7.27805.

Accepted Answer

madhan ravi
madhan ravi on 10 Feb 2021
F = @(x,y) x./y + y./x
F = function_handle with value:
@(x,y)x./y+y./x
q = integral2(F,1,2,1,4)
q = 7.2780

More Answers (2)

Saumya Shil
Saumya Shil on 4 Feb 2022
clear;
close;
clc;
r=1;
E= @(x) 150*pi*sin(x)/r;
Pds= @(x,y) (E^2)*(r^2)*sin(x)/120*pi;
Wr= integral2(@(x,y)Pds(x,y),0,pi,0,2*pi);
fprintf('\nPower radiated = %fW\n\n',Wr);
I am getting this message.
Error in integral2Calc (line 9)
[q,errbnd] = integral2t(fun,xmin,xmax,ymin,ymax,optionstruct);
Error in integral2 (line 105)
Q = integral2Calc(fun,xmin,xmax,yminfun,ymaxfun,opstruct);
Error in untitled (line 9)
Wr= integral2(@(x,y)Pds(x,y),0,pi,0,2*pi);
  2 Comments
Steven Lord
Steven Lord on 4 Feb 2022
Use element-wise operators in your integrand so your integrand will handle the (usually non-scalar) arrays that integral2 passes into it.
A = [1 2; 3 4]
A = 2×2
1 2 3 4
elementwise = A.^2
elementwise = 2×2
1 4 9 16
array = A^2 % different answer from elementwise
array = 2×2
7 10 15 22
Walter Roberson
Walter Roberson on 26 Nov 2022
Pds= @(x,y) (E^2)*(r^2)*sin(x)/120*pi;
likely needs to be
Pds= @(x,y) (E(x).^2) .* (r.^2) .* sin(x) ./120 .* pi;
though I have to wonder if it is intended to be divided by (120*pi) compared to dividing by 120 and multipling the result by pi ?

Sign in to comment.


Carlos Guerrero García
Carlos Guerrero García on 26 Nov 2022
syms x y;
int(int(x/y+y/x,1,2),1,4)
ans = 
vpa(ans)
ans = 
7.2780453958794257488809372753109

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!