我是靠谱客的博主 兴奋宝马,这篇文章主要介绍使用MATLABD数值法计算定积分或反常积分,现在分享给大家,希望可以做个参考。

trapz是用梯形法求积分,要求输入一个数列,或两个一样长的数列,而最后输出积分值。

cumtrapz输入与trapz一样,但是最后输出的是与输入等长的数列,其最后一个值为积分值,如果计算二重积分,而输入一个矩阵,那么cumtrapz是按照列进行计算的,最后输出矩阵的最后一行为内积分的值。此外,cumtrapz默认的积分步长为1,若要修改,只需在使用这个函数时乘以积分步长即可

dg=0.01;

x=1:0.01:2;

fun=1./x;

func=dg*cumtrapz(fun);

result=func(end);

而计算积分限为无穷时,可以将积分区间进行划分,然后将每个积分区间的计算结果相加,当某个积分区间的结果小于某个值时,停止计算。

例:

D=1;

T=1;

I=0;

a=0;

dg=0.01;

pre=10^(-5);

while T>pre

          b=a+D;

          x=a:0.01:(b-0.01);

          fun=exp(-x);

          func=dg*cumtrapz(fun);

         T=func(end);

         I=I+T;

        a=b;

        D=2*D;

end

result=I

注意:其中dg与pre决定了运算的速度,与所使用的设备有关。

最后

以上就是兴奋宝马最近收集整理的关于使用MATLABD数值法计算定积分或反常积分的全部内容,更多相关使用MATLABD数值法计算定积分或反常积分内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(135)

评论列表共有 0 条评论

立即
投稿
返回
顶部