四重符号积分程序为何提示Explicit integral could not be found.
源程序!!!!syms a1 a2 z1 z2
n=2; %磁极数
br1=1.1;br2=1.1; %分别为内、外驱动器永磁体的剩余磁感应强度
l1=0.117;l2=0.052; %分别为外驱动器和内驱动器的长度
g=0.04825; %内、外驱动器间的径向间隙
h=0.005; %外驱动器磁环的径向厚度
R3=0.002;R2=R3+g;R1=R2+h;
l=(l1-l2)/2; %内驱动器的起始轴端外驱动器起始轴端的距离
k=1.075;a=0*pi/18;x=-0.05;
f1=int(((R2*R3/(R2^2+R3^2+(z2-z1)^2-2*R2*R3*cos(a2-a1))^1.5))*(z1-z2),a1,a,a+pi);
ff1=inline(f1);
fff1=vectorize(ff1);
sss11=triplequad(fff1,0,pi,0,l1,l+x,l+l2+x);
对变量a1,a2,z1,z2积分。原函数:function=((R2*R3/(R2^2+R3^2+(z2-z1)^2-2*R2*R3*cos(a2-a1))^1.5))*(z1-z2)
提示很多错误
于是改为
syms a1 a2 z1 z2
n=2; %磁极数
br1=1.1;br2=1.1; %分别为内、外驱动器永磁体的剩余磁感应强度
l1=0.117;l2=0.052; %分别为外驱动器和内驱动器的长度
g=0.04825; %内、外驱动器间的径向间隙
h=0.005; %外驱动器磁环的径向厚度
R3=0.002;R2=R3+g;R1=R2+h;
l=(l1-l2)/2; %内驱动器的起始轴端外驱动器起始轴端的距离
k=1.075;a=0*pi/18;x=-0.05;
f1=int(((R2*R3/(R2^2+R3^2+(z2-z1)^2-2*R2*R3*cos(a2-a1))^1.5))*(z1-z2),a1,a,a+pi);
temp=int(f1,a2,0,pi)
Warning: Explicit integral could not be found.
请高手帮忙看看。
[ 本帖最后由 eight 于 2007-12-31 13:36 编辑 ] 我还是觉得数值积分好
顺便把楼主错误提示贴出来:
第1个程序
??? Error using ==> inline.subsref at 14
Not enough inputs to inline function.
Error in ==> triplequad>innerintegral at 65
fcl = intfcn(xmin, y(1), z(1), varargin{:});
Error in ==> dblquad>innerintegral at 80
fcl = intfcn(xmin, y(1), varargin{:}); %evaluate only to get the class below
Error in ==> quad at 77
y = f(x, varargin{:});
Error in ==> dblquad at 60
Q = quadf(@innerintegral, ymin, ymax, tol, trace, intfcn, ...
Error in ==> triplequad at 53
Q = dblquad(@innerintegral, ymin, ymax, zmin, zmax, tol, quadf, intfcn, ... 什么原因阿
页:
[1]