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.

 Réponse acceptée

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 commentaires

Andromeda
Andromeda le 30 Oct 2021
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?
Alan Stevens
Alan Stevens le 30 Oct 2021
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.
Andromeda
Andromeda le 30 Oct 2021
Okay, thanks again!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by