嵌套积分在matlab中的integral2中

时间:2013-08-23 16:13:09

标签: matlab nested integration integral

我正在尝试使用由积分定义的函数的双积分(使用integral2)。

http://i.imgur.com/gIUsLSw.jpg

以下是我目前的尝试:

t=linspace(0,1,50);
fun_1= @(v) exp(.071*v)
fun  = @(x,y) exp(0.14*0.00607*integral(@(u)fun_1(u),0,x)).*exp(-(x-y).^2).*exp(0.14*0.00607*integral(@(u)fun_1(u),0,x));
for i=2:length(t)
    for j=i:length(t)
    A(i,j)=integral2(fun,t(i-1),t(i),t(j-1),t(j));
    end
end

我收到错误

  

使用积分时出错(第86行)A和B必须是浮点标量。

任何人都可以提供有关如何解决此问题的任何信息。

1 个答案:

答案 0 :(得分:1)

你走了:

l=3;
t=linspace(0,1,365);
fun3= @(v) integral(@(v)exp(.071*v),0,v,'ArrayValued',true);
for i=2:length(t)
  for j=i:length(t)
      xx=t(i);
      yy=t(j);
      fun  = @(x,y) exp(0.14*0.00607*fun3(yy)).*exp(-(x-y).^2/l).*exp(0.14*0.00607*fun3(xx));
      y(i,j)=integral2(fun,t(i-1),t(i),t(j-1),t(j));
  end
end

它有效,但速度很慢。