Integrate a 2D griddedInterpolant wrt one variable
显示 更早的评论
Hello,
I would like to know how to integrate a 2D griddedInterpolant with respect to one variable.
I include an example:
[x,y] = ndgrid(-5:0.8:5);
z = x.^2 + y.^2;
F = griddedInterpolant(x,y,z);
integral(@(x) F(x,1),0,1)
The actual interpolant is from data and not availbe in a closed analytical form.
This produces an error. Is there a simple alternative?
6 个评论
Anna Thuenen
2019-7-17
Torsten
2019-7-17
What happens if you choose a finer discretization in x-direction:
x = -5:0.01:5
e.g.
Anna Thuenen
2019-7-17
Torsten
2019-7-17
I know, but the quality of the result depends on the denseness of points (x,y) where you can supply z(x,y).
Andrei Bobrov
2019-8-2
编辑:Andrei Bobrov
2019-8-2
Hi friends!
>> x = -5:0.8:5;
y = x';
z = x.^2 + y.^2;
F = griddedInterpolant({x,y},z,'spline');
integral(@(x)F(x,1),0,1,'ArrayValued',true)
ans =
1.3333
>>
回答(1 个)
Sai Bhargav Avula
2019-8-2
0 个投票
The integral function in MATLAB does Numerical Integration and is the approximate computation of an integral using numerical techniques. As mentioned by the @Torsten the quality depends on the denseness of points (x,y).
类别
在 帮助中心 和 File Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!