How I can integrate function if I have two variables?

205 views (last 30 days)
Hi:
I am using trapz to integrate my function, but in my function I have two variables, what should I do if I want to integrate only one variable and keep the other one? if anyone can help me, I will be appreciate it.
Thank you
Subinuer
  1 Comment
Laurence Lurio
Laurence Lurio on 2 Feb 2017
Edited: Laurence Lurio on 2 Feb 2017
Suppose you have f(x,y) and you want to integrate from A to B over x with y=y0. Then
y=y0
fun2=@(x)fun(x,y0)
result=integral(fun2,A,B)

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 30 Jun 2014
If you have already evaluated your function and have a matrix of (x,y) values for it, you can use trapz to integrate it in the dimension you want.
Example:
f = @(x,y) 3*x.^2 + 5*y.^3;
x = 0:0.1:5;
y = 0:0.1:7;
[X, Y] = meshgrid(x,y);
fmtx = f(X,Y);
fxint = trapz(x,fmtx,2);
figure(1)
surfc(X,Y,fmtx)
grid on
xlabel('X')
ylabel('Y')
Otherwise, you need to do the integration with the Symbolic Math Toolbox:
syms x y
f(x,y) = 3*x.^2 + 5*y.^3;
fint = int(f, x)
  6 Comments
Sinipelto
Sinipelto on 22 Mar 2021
I was using "integral" function which didnt work, when I switched to this "int" function, it started working. Thanks!
Star Strider
Star Strider on 22 Mar 2021
My pleasure!
The trapz function integrates vectors and matrices numerically.
The integral function integrates functions numerically.
The int function integrates symbolic expressions and functions, and vpaintegral integrates them numerically.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!