Issue with numerical integration of two variable function
Show older comments
I want to do integration of two variable function w.r.t one variable.
A = @(x, y)cos(x)+sin(y)
B = @(x, y)(A-integral(@(x)A, 0 , 2*pi))
How to see the output here??
Accepted Answer
More Answers (2)
Sargondjani
on 20 Sep 2021
Edited: Sargondjani
on 20 Sep 2021
0 votes
You created only function handles. So f(x,y) = .....
To compute the numerical value you need to assign numerical values to x and y. So for example:
y=0;
x=1;
B_value = B(x,y);
A = @(x, y)cos(x)+sin(y);
B = @(x, y)(A-integral(@(x)A, 0 , 2*pi));
Your expression for B won't work for two reasons. The integral function requires the function handle you pass into it as the first input to return a numeric array, but yours returns a function handle. Even if that worked, you would then try to subtract that result from a function handle and arithmetic on function handles is not supported.
From your description it sounds like you want B to be a function of one variable, but you need to pass two inputs into your A function handle. Assuming you want to fix the value of x and make B just a function of y, evaluate A inside your expression for B:
A = @(x, y)cos(x)+sin(y);
fixedX = 0.5;
B = @(y) A(fixedX, y)-integral(@(z)A(fixedX, z), 0 , 2*pi)
B(0.25)
1 Comment
Bathala Teja
on 21 Sep 2021
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

