在MATLAB中积分2中的嵌套积分 [英] Nested integral within integral2 in matlab

查看:273
本文介绍了在MATLAB中积分2中的嵌套积分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm attempting to take the double integral (using integral2) of a function that is defined by an integral.

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

这是我目前正在尝试的操作:

Here is what I am currently attempting:

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必须是浮点标量.

Error using integral (line 86) A and B must be floating point scalars.

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

Can anyone provide any information on how to fix this problem.

推荐答案

在这里:

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

它可以工作,但是非常慢.

It works, but it is very slow.

这篇关于在MATLAB中积分2中的嵌套积分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆