|
|
【答案】应助回帖
feixiaolin: 数学EPI+1, 2015-07奖励 2015-08-01 18:06:03 feixiaolin: 应助指数+1 2015-08-01 18:06:24
定子面积程序:
function dingz
y=4*rombg(@fdz,0,pi/2,1e-2);
disp(num2str(y,6))
function ds1=fdz(t)
z1=6;
z2=z1-1;
R=48.78;
r=8.13;
Q=R-r;
e=7.05;
syms tau;
k=12.6; %re
f=r/e;
a=sin(z1*tau);
b=f+cos(z1*tau);
m=atan(a./b);
p=m-tau; %theta
c=sin(tau+p);
n=asin(f*c);
o=n-p; %phi
g=(z1/z2)*o; %psi
x2t=Q*sin(tau)+e*sin(z2*tau)-k*sin(p); %原始齿形
y2t=Q*cos(tau)-e*cos(z2*tau)+k*cos(p);
d1=diff(x2t);
ds1=subs(y2t.*d1,tau,t);
function y=rombg(f,a,b,er)
h=(b-a);
T(1,1)=h*(feval(f,a)+feval(f,b))/2;
i=2;h=h/2;
T(i,1)=T(1,1)/2+h*feval(f,(a+b)/2);
T(i,2)=(4*T(2,1)-T(1,1))/3;
while abs(T(i,i)-T(i-1,i-1))>er
i=i+1;h=h/2;
T(i,1)=T(i-1,1)/2+h*sum(feval(f,a+h:2*h:b));
for k=2:1:i
T(i,k)=(4^(k-1)*T(i,k-1)-T(i-1,k-1))/(4^(k-1)-1);
end
end
y=T(i,i);
运行结果:
8768.86
转子面积程序:
function zhuanz
y=rombg(@fzz,0,16.65*pi/10,1e-2);
disp(num2str(y,6));
function ds2=fzz(t)
z1=6;
z2=z1-1;
R=48.78;
r=8.13;
Q=R-r;
e=7.05;
syms tau
k=12.6;
f=r/e;
a=sin(z1*tau);
b=f+cos(z1*tau);
m=atan(a./b);
p=m-tau; %theta
c=sin(tau+p);
n=asin(f*c);
o=n-p; %phi
g=(z1/z2)*o; %psi
x2t=Q*sin(tau)+e*sin(z2*tau)-k*sin(p); %原始齿形
y2t=Q*cos(tau)-e*cos(z2*tau)+k*cos(p);
x3t=x2t.*cos(o-g)-y2t.*sin(o-g)-e*sin(g); %共轭齿形
y3t=x2t.*sin(o-g)+y2t.*cos(o-g)-e*cos(g);
d2=diff(x3t);
ds2=subs(y3t.*d2,tau,t);
function y=rombg(f,a,b,er)
h=(b-a);
T(1,1)=h*(feval(f,a)+feval(f,b))/2;
i=2;h=h/2;
T(i,1)=T(1,1)/2+h*feval(f,(a+b)/2);
T(i,2)=(4*T(2,1)-T(1,1))/3;
while abs(T(i,i)-T(i-1,i-1))>er
i=i+1;h=h/2;
T(i,1)=T(i-1,1)/2+h*sum(feval(f,a+h:2*h:b));
for k=2:1:i
T(i,k)=(4^(k-1)*T(i,k-1)-T(i-1,k-1))/(4^(k-1)-1);
end
end
y=T(i,i);
结果:
6546.81
说明:注意积分区间不是[0,2*pi],我取了一个近似值[0,16.65*pi/10] |
|