需求,求解含有两个自由参数的三重积分
- 通过符号函数进行定积分与不定积分
- 不定积分:int(f,x)f为符号函数句柄
syms x f;f=x+1;int(f,x)
- 定积分:int(f,x,a,b) ditto
-
- 如何把double转化为整数
int8(a)
- 将变量放入数组,对其索引进行遍历(避免出现下标非integer的情况)
- 如何把double转化为整数
- 含两个参量的三重积分最终解决方案
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