luoluo 发表于 2007-7-21 11:43

复杂符号积分的解法




E,L为常数;其中积分上限
=0.0976;积分下限为符号变量,是sita1的函数,这样公式中的积分函数也是一个关于sita1的函数,可是我用int(f,alpha,alpha11,alpha2)进行求解时,解了好长时间,然后报错了,我想可能是定积分不存在吧,然后将sita1设成了一个定值,并对其进行不定积分的求解,虽然也是算了很长时间,但终究是算出来了,只是结果很长很长。如果我再分别代入积分上限和下限,该怎么做呢?还有对于这种符号方程,有没有好的积分方法啊?请指教!

luoluo 发表于 2007-7-21 11:53

我的程序如下,希望高人看看或运行一下,提点指导意见,谢谢!
E=2.068e11;    %弹性模量(pa)
poissonRitio=0.3;   %泊松比
alpha0=20*pi/180;   %标准压力角(弧度)
L=0.016 ;
invAlpha0=tan(alpha0)-alpha0;%渐开线函数
alphab1=pi/2/z1+invAlpha0;%基圆半角(弧度),积分上限

symsf alpha;
sita1=2*pi/180; %将sita1设为了常数,可不可以求出积分关于sita1的方程啊?

% 求alpha110
% 引入中间变量temp
temp=z2*cos(alpha0)/(z2+2);
temp=acos(temp);
temp=cos(temp-alpha0);
temp=(z2+2)^2+(z1+z2)^2-2*(z2+2)*(z1+z2)*temp;
temp=sqrt(temp);
temp=z1*cos(alpha0)/temp;
temp=acos(temp);
temp=tan(temp);
alpha110=-pi/2/z1-invAlpha0+temp;
%
% 主动齿轮存在转角sita1(弧度)
alpha11=sita1+alpha110;

%积分函数
f=(alphab1-alpha)*sin(alpha)-cos(alpha);
f=1+cos(alpha11)*f;
f=f^2;
f=3*f*(alphab1-alpha)*cos(alpha);
f=f/2/E/L;
temp1=sin(alpha)+(alphab1-alpha)*cos(alpha);
temp1=temp1^3;
f=f/temp1;
a=-alpha11;%积分下限
b=alphab1;%积分上限
% ff=int(f,alpha,a,b);
ff=int(f,alpha);

求到这里之后,如何把积分上下限的值代入呢?

octopussheng 发表于 2007-7-22 10:49

luoluo你这个确实很复杂,我用maple帮你试了一下,发现根本积不出来,只有使用数值方法了!

我的建议是如果直接用int函数不行的话,就尝试用用simulink吧,这样如果你的下限如果是可变的话,应该也可以实现的!

luoluo 发表于 2007-8-8 21:17

放假回家了一趟,才看到octopussheng的帖子,谢谢octopussheng的建议,不过我没有用过simulink,看来还需要学习一下啊!

octopussheng 发表于 2007-8-9 08:03

其实很简单的,就像写数学公式一样的!有一本书作参考,做这些还是没有问题的!呵呵

luoluo 发表于 2007-8-9 09:13

我只听说过simulink是用来建模和仿真的,原来还可以用来求积分啊,找一本simulink建模与仿真的书看就可以了吗?上面有讲到求积分的内容吗?我对这个了解的实在太少,还请多多指导,谢谢了!

octopussheng 发表于 2007-8-9 13:40

simulink里面有积分模块,就是1/s(这个是它的框图号),还是比较直观的!

其实步骤和你写m文件差不多的!试一下吧
页: [1]
查看完整版本: 复杂符号积分的解法