⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 半自动下压模平压模切机系统运动分析1.c

📁 四杆机构的运动分析
💻 C
字号:
#include<stdio.h>
#include<math.h>
#define N 36
#define PI 3.14159265
main()
{
        int i,m;
        double a,b,c,d,e,f,g;
        double n,speed1,zita0,acce1,zita;
        double zita1[N],zita2[N],zita3[N];
        double speed2[N],speed3[N],acce2[N],acce3[N];
        double l1,l2,l3,l4;
        double zita4[N],zita5[N],s4[N],acce4[N],v4[N],o4[N];
        l1=71.70;l2=236.57;l3=500;l4=456.09;n=2500/60;zita0=0;g=0;
        speed1=PI*n/30;zita0=zita0*PI/180;m=1;zita=2*PI-atan2(l3,l2-l1);
for(i=0;i<N;i++)
        {zita1[i]=zita0+2*i*PI/N;
        a=2*l1*l3*sin(zita1[i])-2*l3*l4*sin(zita);
        b=2*l1*l3*cos(zita1[i])-2*l3*l4*cos(zita);
        c=l2*l2-l1*l1-l3*l3-l4*l4+2*l1*l4*cos(zita1[i]-zita);
        zita3[i]=2*atan2(-a+m*sqrt(a*a+b*b-c*c),c-b);
        f=l1*l1+l2*l2+l4*l4-l3*l3-2*l1*l4*cos(zita1[i]-zita);
        d=2*l1*l2*sin(zita1[i])-2*l2*l4*sin(zita);
        e=2*l1*l2*cos(zita1[i])-2*l2*l4*cos(zita);
        zita2[i]=2*atan2(-d+m*sqrt(d*d+e*e-f*f),f-e);
        speed2[i]=-(speed1*l1*sin(zita1[i]-zita3[i]))/(l2*sin(zita2[i]-zita3[i]));
        speed3[i]=(speed1*l1*sin(zita1[i]-zita2[i]))/(l3*sin(zita3[i]-zita2[i]));
        acce2[i]=(-speed1*speed1*l1*cos(zita1[i]-zita3[i])
                                -speed2[i]*speed2[i]*l2*cos(zita2[i]-zita3[i])
                                +speed3[i]*speed3[i]*l3)/(l2*sin(zita2[i]-zita3[i]));
        acce3[i]=(speed1*speed1*l1*cos(zita1[i]-zita2[i])
                                -speed3[i]*speed3[i]*l3*cos(zita3[i]-zita2[i])+speed2[i]*speed2[i]*l2)
                                /(l3*sin(zita3[i]-zita2[i]));
        zita4[i]=zita3[i]-PI/2;
        s4[i]=l3*cos(zita4[i])+m*sqrt(l3*l3-(l3*sin(zita4[i])-g)*(l3*sin(zita4[i])-g));
        zita5[i]=atan2(g-l3*sin(zita4[i]),s4[i]-l3*cos(zita4[i]));
        o4[i]=-(l3*speed3[i]*cos(zita4[i]))/(l3*cos(zita5[i]));
        v4[i]=(l3*speed3[i]*sin(zita5[i]-zita4[i]))/(cos(zita5[i]));
        acce4[i]=(l3*(acce3[i]*sin(zita5[i]-zita4[i])
                                -speed3[i]*speed3[i]*cos(zita5[i]-zita4[i]))-l3*o4[i]*o4[i])/(cos(zita5[i]));
                if(fabs(s4[i]-1000)<1)
                printf("zita=%f\n",zita1[i]*180/PI);
}
printf("  No.           zita     s         v            acce   \n");
for(i=0;i<N;i++)
{zita1[i]=zita1[i]*180/PI;
 printf("%3d %10.2f %10.2f %10.2f %10.2f \n",i, zita1[i],s4[i],v4[i],acce4[i]);
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -