jsp613 发表于 2007-12-31 09:44

四重符号积分程序为何提示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 编辑 ]

sigma665 发表于 2007-12-31 10:50

我还是觉得数值积分好

顺便把楼主错误提示贴出来:
第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, ...

jsp613 发表于 2007-12-31 14:50

什么原因阿
页: [1]
查看完整版本: 四重符号积分程序为何提示Explicit integral could not be found.