2020-06-05MATLAB 使用匿名函数进行三重积分求解

需求,求解含有两个自由参数的三重积分

    1. 通过符号函数进行定积分与不定积分

https://blog.csdn.net/qq_34374664/article/details/79186465

  • 不定积分:int(f,x)f为符号函数句柄syms x f;f=x+1;int(f,x)
  • 定积分:int(f,x,a,b) ditto

int 的用法,以及二重积分

    1. 如何把double转化为整数
      int8(a)
    • 将变量放入数组,对其索引进行遍历(避免出现下标非integer的情况)
    1. 含两个参量的三重积分最终解决方案
f=@(x,y,X,Y,Z) Y.*cos(Z)./sqrt(x.^2+Y.^2+(x-X).^2-2.*y.*Y.*cos(Z));
Q1=@(x,y) integral3(@(X,Y,Z) f(x,y,X,Y,Z),3.47,3.55,0.3,0.6,0,2*pi,'Method','tiled');
delta_x=0.05;
delta_y=0.05;
x=[0.1:delta_x:3.1];
len_x=length(x);
y=[0.1:delta_y:0.3];
len_y=length(y);
[x0,y0]=meshgrid([0.1:delta_x:3.1],[0.1:delta_y:0.3]);

for i= 1:len_x
    for j= 1:len_y
        val(j,i)=Q1(x(i),y(j));
    end
end
% val_every(:,:,k)=val;
pcolor(x0,y0,val);
shading interp
figure
plot(val(1,:),'r-')

refs: https://ww2.mathworks.cn/help/matlab/ref/integral3.html

你可能感兴趣的:(2020-06-05MATLAB 使用匿名函数进行三重积分求解)