用MATLAB计算积分区域不为常数的二重积分

       积分区域为常数的矩形区域,使用dblquad函数计算二重积分,当积分区域不为常数时,通过对dblquad函数进行改造,可以计算任意积分区域的二重积分。详细内容请参考“王若鹏, 夏赞勋, 谢鹏燕, 张鹏, "基于MATLAB的二重积分计算方法," 高等数学研究, 61-63 (2012).”

比如计算如下二重积分
用MATLAB计算积分区域不为常数的二重积分_第1张图片
1.mydblquad.m文件
 
  1. function y=mydblquad(a,b)
  2. y=dblquad(@f_tran,a,b,0,1);
不论计算什么样的二重积分,该文件内容不需要做任何修改。

2.f_tran.m文件
 
  1. function z=f_tran(x,u)
  2. d=sqrt(x);
  3. c=x;
  4. z=(d-c).*f_init(x,(d-c).*u+c);
计算积分时,只需要把c和d改成内积分的上下限即可。

3.f_init.m文件
 
  1. function w=f_init(x,y)
  2. w=sin(y)./y;
计算积分时,只需要把内积分的积分函数表示出来即可,注意,需要使用点乘、点除等运算。

4.调用mydblquad(0,1),即可计算出上述二重积分。
    mydblquad.rar     f_init.rar     f_tran.rar   

你可能感兴趣的:(OFC)