Computing the double integral of a surface

I am trying to compute the double integral of a surface but I keep getting the error "First input argument must be a function handle." and I do not understand what that means. How can I get around this error? See attached picture below.

 Accepted Answer

Like this
syms x y
z = @(x,y) x.^2 + y.^2;
surface_int = integral2(z,1,2,4,9);
disp(surface_int)
233.3333

3 Comments

Thank you for your answer Alan. Can you please help me with your algorithm. Why use @(x,y) and .^ in the function creation? Why did matlab reject x^2+y^2?
The @(x,y) is Matlab's way of defining an in-line function of x and y (rather than having z(x,y) as you might find in other programs).
The .^, rather than just ^ indicates raise to the power element by element if x (or y) is more than a single scalar value when the function is called. Since integral2 calls the function, z, with a matrix of values, .^ is needed.
Okay, thanks again!

Sign in to comment.

More Answers (0)

Asked:

on 30 Oct 2021

Commented:

on 30 Oct 2021

Community Treasure Hunt

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

Start Hunting!