Error in nested integration

1 次查看(过去 30 天)
I want to integrate a function and program is given below:
close all;
clear all;
fun = @(x,y)x+(x./(y.^2));
fun1= @(y) y+ integral(@(x)fun(x,y), 0,1);
c1= integral(fun1,0,1)
In the above program if we are using 'y' instead of 'y.^2', then there is no error. But if we are using 'y.^2' error occurred matrix dimension must agree. But here we are using x, y as variable hence there should be no question of matrix dimension. If, anybody can solve the problem please help me . Any suggestions regarding this will be appreciated.

采纳的回答

Torsten
Torsten 2017-11-22
fun1= @(y) y+ integral(@(x)fun(x,y), 0,1,'ArrayValued',true);
Note that fun is undefined at y=0. Thus c1 should come out as Inf.
Best wishes
Torsten.
  3 个评论
Torsten
Torsten 2017-11-24
I guess that the division by x^q for x=0 in "fun" is the problem.
Best wishes
Torsten.
Shweta Rajoria
Shweta Rajoria 2017-11-24
Thank you sir.. my problem is solved with your suggestion.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by