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

📄 求刚度矩阵的c语言程序.txt

📁 求刚度矩阵的c语言程序ok
💻 TXT
字号:
#include <stdio.h>
#include <math.h>
#define PI (3.1415926/180)
void mult(float a[3][3],float b[3][3])
{
 int i,j,k;
 float c[3],aa[3][3],s=0;
 for (i=0;i<3;i++)
 {
    for (j=0;j<3;j++)
    {
       for (k=0;k<3;k++)
       {
          s=s+a[i][k]*b[k][j];
       }
       c[j]=s;
       s=0;
    }
    for(j=0;j<3;j++)
    {
       aa[i][j]=c[j];
    }
 }
 for (i=0;i<3;i++)
 {
    for(j=0;j<3;j++)
    {
       a[i][j]=aa[i][j];
    }
 }
}

main()
{
  int i=0,j=0,l=0;
  float a[3][3]={0.0},b[3][3]={0.0};
  float p[6][6]={0},f[6][6]={0},k[6][6]={0};
  float r[3]={249.0,2538.0,2538.0};
  float u[3]={249.0,2538.0,2538.0};
  float t[3]={878.0,687.0,687.0};
  float g[3]={-3.0,0.0,0.0};
  float n[3]={0.0,0.0,0.0};
  float x[3]={51.47,-21.25,-21.25};
  float y[3]={-0.18,29.82,-30.18};
  float z[3]={-25.1,-11.6,-11.6};
 /* float m[6][6]={{0.509},{0,0.509},{0,0,0.509},{0,0,0,236.37,24.85,-109.76},{0,0,0,24.85,681.42,-9.16},{0,0,0,-109.76,-9.16,600.29}};
*/
for(l=0;l<3;l++)
{
  for (i=0;i<3;i++)
    {
     for (j=0;j<3;j++)
      {
       a[i][j]=0;
       b[i][j]=0;
      }
    }
  a[0][0]=1.0;
  a[1][1]=cos(n[l]*PI);
  a[1][2]=sin(n[l]*PI);
  a[2][1]=-a[1][2];
  a[2][2]=a[1][1];
  b[0][0]=cos(g[l]*PI);
  b[0][2]=sin(g[l]*PI);
  b[1][1]=1.0;
  b[2][2]=b[0][0];
  b[2][0]=-b[0][2];
 mult(a,b);

for(i=0;i<3;i++)
  {
    for(j=0;j<3;j++)
      {
       p[i][j]=a[i][j];
      }
  }
for(i=0;i<3;i++)
  {
   for(j=0;j<3;j++)
    {
     a[i][j]=p[j][i];
     b[i][j]=0;
    }
  }
   b[0][0]=r[l];
   b[1][1]=u[l];
   b[2][2]=t[l];
   mult(a,b);
 for(i=0;i<3;i++)
   {
    for(j=0;j<3;j++)
      {
       b[i][j]=p[i][j];
      }
   }
  mult(a,b);
   f[0][1]=z[l];
   f[0][2]=-y[l];
   f[1][0]=-f[0][1];
   f[1][2]=x[l];
   f[2][0]=-f[0][2];
   f[2][1]=-f[1][2];
for(i=0;i<3;i++)
  {
   for(j=0;j<3;j++)
      {
       p[i][j]=a[i][j];
       f[i][i]=0;
       b[i][j]=f[i][j];
      }
   }
 mult(a,b);
 for(i=0;i<3;i++)
  {
   for(j=0;j<3;j++)
      {
       p[i][j+3]=a[i][j];
       a[i][j]=f[j][i];
       b[i][j]=p[i][j];
      }
  }
 mult(a,b);
 for(i=0;i<3;i++)
  {
    for(j=0;j<3;j++)
     {
      p[i+3][j]=a[i][j];
      b[i][j]=f[i][j];
     }
   }
 mult(a,b);
  for(i=0;i<3;i++)
  {
   for(j=0;j<3;j++)
    {
     p[i+3][j+3]=a[i][j];

    }
  }
 for(i=0;i<6;i++)
   {
    for(j=0;j<6;j++)
     {
      k[i][j]=k[i][j]+p[i][j];
     }
   }

}
 for (i=0;i<6;i++)
   {
    for (j=0;j<6;j++)
     {
      printf("%10.3f",k[i][j]);
     }printf("\n");
   }printf("\n");
}


你可以通

⌨️ 快捷键说明

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