24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1761  |  回复: 21
本帖产生 1 个 数学EPI ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

丫头丫头2014

银虫 (小有名气)

[求助] 求助——积分求面积遇到问题已有3人参与

如图,x2,y2为转子方程,我想求x2,y2曲线围成的面积,用matlab编写程序如下:
z1=6;
z2=z1-1;
R=48.78;
r=8.13;
Q=R-r;
e=7.05;
syms theta
k=12.6;
f=r/e;
a=sin(z1*theta);
b=f+cos(z1*theta);
m=atan(a./b);
p=m-theta;       %theta
c=sin(theta+p);
n=asin(f*c);
o=n-p;          %phi
g=(z1/z2)*o;    %psi

x2t=Q*sin(theta)+e*sin(z2*theta)-k*sin(p);       %原始齿形
y2t=Q*cos(theta)-e*cos(z2*theta)+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=inline(y3t.*d2);
s2=5*quadl(ds2,0,2*pi/5)
但是运行出来有问题,请高手指点,转子的面积该如何求,先谢谢啦

求助——积分求面积遇到问题
转子方程.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

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]

» 本帖已获得的红花(最新10朵)

善恶到头终有报,人间正道是沧桑.
18楼2015-07-22 20:34:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
以前回答过这个类似问题!
quad函数里面调用的函数你没有写好,写成表达式啦!
要写成function形式的!
关键是你的问题里面其他参数!
这个新版的Matlab里面已经可以解决啦!
搜索匿名函数的用法!完全可以解决你的问题!
善恶到头终有报,人间正道是沧桑.
2楼2015-07-17 11:09:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

感谢参与,应助指数 +1
1. 问问题自己先把问题尽可能描述清清楚楚很重要;

2. 定子曲线方程是一条闭合的曲线
求助——积分求面积遇到问题-1

但是转子曲线方程无法在0~2 pi之内闭合
求助——积分求面积遇到问题-2

3. 你自己的代码除了有一些已知量的赋值可参考之外,其它几乎毫无意义,而且theta跟tau混用,描述不一致而让人思维混乱;

你求的到底是哪个面积?
ส็็็็็็็็็็็็็็็็็็็็
3楼2015-07-17 11:18:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
3楼: Originally posted by cooooldog at 2015-07-17 11:18:14
1. 问问题自己先把问题尽可能描述清清楚楚很重要;

2. 定子曲线方程是一条闭合的曲线


但是转子曲线方程无法在0~2 pi之内闭合


3. 你自己的代码除了有一些已知量的赋值可参考之外,其它几乎毫无意义,而且t ...

下面的曲线外轮廓所包围的面积用数值近似计算得到大约是
7936.86
ส็็็็็็็็็็็็็็็็็็็็
4楼2015-07-18 08:32:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见