亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jacobi.c

?? 工程中有限元程序,采用C語言編制,包括所有經典的有限元問題!
?? C
字號:
/*****       program jacobi        *****/
/*    generalized jacobi's method      */
/*       for symmetric matrices        */
/*  t.r.chandrupatla and a.d.belegundu */
/***************************************/
#include <stdio.h>
#include <math.h>
main()
{
   FILE *fptr1, *fptr2;
   float *s,*gm,*evl,*evc,c,c1,c2,tols,tolm,aa,bb,cc;
   float cab,bet,alp,sqc,si,sj,emi,emj,sii,sij,sjj,eii,eij,ejj;
   float evi,evj,gm2,omega,freq;
   int *nord,nq,nbw,i,j,k,n,jn,nswmax,k1,i1,nsw,ii,jj,j1,ij,ifl;
   float pi = 3.14159, tol = 0.000001;  
   char dummy[81], file1[81], file2[81];
   printf("\n");
   puts("Input file name < dr:fn.ext >: ");
   gets(file1);
   puts("Output file name < dr:fn.ext >: ");
   gets(file2);
   fptr1 = fopen(file1, "r");
   fptr2 = fopen(file2, "w");
   fgets(dummy,80,fptr1);
   fgets(dummy,80,fptr1);
/* --- read in number of equations and bandwidth --- */
   fscanf(fptr1,"%d %d\n", &nq, &nbw);
   printf("default tolerance is  1e-6\n");      
/* -----         memory allocation         ----- */
   s = (float *) calloc(nq*nq, sizeof(float));
   gm = (float *) calloc(nq*nq, sizeof(float));
   evl = (float *) calloc(nq, sizeof(float));
   evc = (float *) calloc(nq*nq, sizeof(float));
   nord = (int *) calloc(nq, sizeof(int));
/* --------------------------------------------- */

   for (i = 0; i < nq; i++) {
           nord[i] = i;
          }
/* ----- banded stiffness matrix into s(nq,nq) ----- */
   fgets(dummy,80,fptr1);
   for (i = 1; i <= nq; i++) {
         for (jn = 1; jn <= nbw; jn++) {
         fscanf(fptr1, "%f\n", &c);
            j = i + jn - 1;
        if (j <= nq) {
           s[nq*(i-1)+j-1] = c;
               s[nq*(j-1)+i-1] = c;
           }
         }
           }
/* ----- banded mass matrix into gm(nq,nq) ----- */
   fgets(dummy,80,fptr1);
   for (i = 1; i <= nq; i++) {
         for (jn = 1; jn <= nbw; jn++) {
         fscanf(fptr1, "%f\n", &c);
            j = i + jn - 1;
        if (j <= nq) {
           gm[nq*(i-1)+j-1] = c;
               gm[nq*(j-1)+i-1] = c;
           }
         }
           }
     fclose(fptr1);     
  /* ----- initialize eigenvector matrix ----- */
     for (i = 0; i < nq; i++) {
             for (j = 0; j < nq; j++) {
                evc[nq*i+j] = 0;
           }
             evc[nq*i+i] = 1;
            }
         c1 = s[0];
         c2 = gm[0];
     for (i = 0; i < nq; i++) {
        if (c1 > s[nq*i+i])
            c1 = s[nq*i+i];
        if (c2 < gm[nq*i+i])
            c2 = gm[nq*i+i];
        }
     tols = tol * c1;
         tolm = tol * c2;
         nswmax = 50;
     printf("maximum number of sweeps nswmax = 50  ");
     k1 = 1;
         i1 = 1;
         nsw = 0;
  do {
     nsw = nsw + 1;
     if (nsw > nswmax) {
        printf ("no convergence after %d sweeps.", nswmax);
        fprintf (fptr2, "no convergence after %d sweeps.", nswmax);
        fclose(fptr2);
        exit(1);
        }
     printf( "------  sweep number   %d\n", nsw);
     for (k = k1; k < nq; k++) {
         for (i = i1; i <= k; i++) {
         ii = i - 1;
         j = nq - k + i;
         jj = nq - k + i - 1;
       if (fabs(s[nq*ii+jj]) > tols || fabs(gm[nq*ii+jj]) > tolm) {
         aa = s[nq*ii+ii] * gm[nq*ii+jj] - gm[nq*ii+ii] * s[nq*ii+jj];
         bb = s[nq*jj+jj] * gm[nq*ii+jj] - gm[nq*jj+jj] * s[nq*ii+jj];
         cc = s[nq*ii+ii] * gm[nq*jj+jj] - gm[nq*ii+ii] * s[nq*jj+jj];
         cab = .25 * cc * cc + aa * bb;
     if (cab < 0) {
         printf("square root of negative term -- check matrices");
         fprintf(fptr2, "square root of negative term -- check matrices");
         fclose(fptr2);
         exit(2);
        }
     if (aa == 0) {
        bet = 0;
            alp = -s[nq*ii+jj] / s[nq*ii+ii];
        } else if (bb == 0) {
            alp = 0;
                bet = -s[nq*ii+jj] / s[nq*jj+jj];
            } else {
               sqc = sqrt((double) cab);
                   if (cc < 0)
                      sqc = -sqc;
               alp = (-.5 * cc + sqc) / aa;
               bet = -aa * alp / bb;
               }
   /* ----- only upper triangular part is used in diagonalization ----- */
     if (i > 1) {
        for (n = 1; n < i; n++) {
            si = s[nq*(n-1)+ii];
            sj = s[nq*(n-1)+jj];
            emi = gm[nq*(n-1)+ii];
            emj = gm[nq*(n-1)+jj];
            s[nq*(n-1)+ii] = si + bet * sj;
            s[nq*(n-1)+jj] = sj + alp * si;
            gm[nq*(n-1)+ii] = emi + bet * emj;
            gm[nq*(n-1)+jj] = emj + alp * emi;
           }
        }
     if (j < nq) {
        for (n = j + 1; n <= nq; n++) {
           si = s[nq*ii+n-1];
           sj = s[nq*jj+n-1];
           emi = gm[nq*ii+n-1];
           emj = gm[nq*jj+n-1];
           s[nq*ii+n-1] = si + bet * sj;
           s[nq*jj+n-1] = sj + alp * si;
           gm[nq*ii+n-1] = emi + bet * emj;
           gm[nq*jj+n-1] = emj + alp * emi;
           }
        }
     if (i < j) {
        for (n = i + 1; n < j; n++) {
           si = s[nq*ii+n-1];
           sj = s[nq*(n-1)+jj];
           emi = gm[nq*ii+n-1];
           emj = gm[nq*(n-1)+jj];
           s[nq*ii+n-1] = si + bet * sj;
           s[nq*(n-1)+jj] = sj + alp * si;
           gm[nq*ii+n-1] = emi + bet * emj;
           gm[nq*(n-1)+jj] = emj + alp * emi;
           }
         }
     sii = s[nq*ii+ii];
     sij = s[nq*ii+jj];
     sjj = s[nq*jj+jj];
     s[nq*ii+jj] = 0;
     s[nq*ii+ii] = sii + 2 * bet * sij + bet * bet * sjj;
     s[nq*jj+jj] = sjj + 2 * alp * sij + alp * alp * sii;
     eii = gm[nq*ii+ii];
     eij = gm[nq*ii+jj];
     ejj = gm[nq*jj+jj];
     gm[nq*ii+jj] = 0;
     gm[nq*ii+ii] = eii + 2 * bet * eij + bet * bet * ejj;
     gm[nq*jj+jj] = ejj + 2 * alp * eij + alp * alp * eii;
 /* ----- eigenvectors ----- */
     for (n = 0; n < nq; n++) {
         evi = evc[nq*n+ii];
         evj = evc[nq*n+jj];
         evc[nq*n+ii] = evi + bet * evj;
         evc[nq*n+jj] = evj + alp * evi;
        }
             }
          }
         }
     for (k = 1; k < nq; k++) {
         for (i = 1; i <= k; i++) {
             ii = i - 1;
             j = nq - k + i - 1;
         ifl = 0;
        if (fabs(s[nq*ii+j]) > tols || fabs(gm[nq*ii+j]) > tolm) {
           k1 = k;
           i1 = i;
           ifl = 1;
           }
           if (ifl == 1)
             break;
             }
           if (ifl == 1)
             break;
         }
     } while (ifl == 1);
  /* -----  calculation of eigenvalues ----- */
     for (i = 0; i < nq; i++) {
        if (fabs(gm[nq*i+i]) < tolm)
           gm[nq*i+i] = tolm;
        evl[i] = s[nq*i+i] / gm[nq*i+i];
        }
  /* ----- scaling of eigenvectors ----- */
     for (i = 0; i < nq; i++) {
        gm2 = sqrt((double) fabs(gm[nq*i+i]));
        for (j = 0; j < nq; j++) {
           evc[nq*j+i] = evc[nq*j+i] / gm2;
           }
        }
   /* -----   results   ----- */
   /* --- ascending order of eigenvalues --- */
     for (i = 0; i < nq-1; i++) {
        ii = nord[i];
        i1 = ii;
        c1 = evl[ii];
            j1 = i;
        for (j = i+1; j < nq; j++) {
           ij = nord[j];
           if (c1 > evl[ij]) {
              c1 = evl[ij];
                  i1 = ij;
                  j1 = j;
             }
           }
           nord[i] = i1;
           nord[j1] = ii;
        }
 printf("eigenvalues and eigenvectors for data in file %s\n)", file1);
 fprintf(fptr2, "eigenvalues and eigenvectors for data in file %s\n", file1);
     for (i = 0; i < nq; i++) {
        ii = nord[i];
        printf( "eigenvalue number  %d\n ", i+1);
        fprintf(fptr2, "eigenvalue number  %d\n ", i+1);
        c = evl[ii];
            omega = sqrt((double) c);
            freq = .5 * omega / pi;
        printf("eigenvalue = %11.4e",  c);
        fprintf(fptr2, "eigenvalue = %11.4e",  c);
        printf("   omega = %10.3e", omega);
        fprintf(fptr2, "   omega = %10.3e", omega);
        printf("   freq = %10.3e hz\n", freq);
        fprintf(fptr2, "   freq = %10.3e hz\n", freq);
        printf( "eigenvector \n");
        fprintf(fptr2, "eigenvector \n");
        ifl = 0;
        for (j = 0; j < nq; j++) {
           printf( "%10.3e ", evc[nq*j+ii]);
           fprintf(fptr2, "%10.3e ", evc[nq*j+ii]);
           ifl = ifl + 1;
           if (ifl > 5)
              ifl = 0;
           if (ifl == 0) {
             printf( "\n");
                 fprintf(fptr2, "\n");
                 }
           }
        printf("\n");
            fprintf(fptr2, "\n");
        }
        fclose(fptr2);
     return(0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人开心网精品视频| 日韩视频在线观看一区二区| 欧美麻豆精品久久久久久| 精品国产91久久久久久久妲己| 亚洲欧洲av另类| 久久99精品国产麻豆婷婷| 色婷婷av一区| 国产精品电影一区二区| 狠狠色狠狠色综合日日91app| 色综合久久中文综合久久97| 国产校园另类小说区| 秋霞影院一区二区| 欧美色精品在线视频| 亚洲欧美日韩一区| 国产盗摄女厕一区二区三区| 日韩欧美的一区二区| 天堂影院一区二区| 一道本成人在线| 综合自拍亚洲综合图不卡区| 国产激情偷乱视频一区二区三区| 4438亚洲最大| 午夜影院久久久| 欧美日韩一区精品| 中文字幕亚洲在| 成人免费电影视频| 国产欧美日本一区视频| 久久精品国产精品亚洲红杏 | 亚洲精品国产第一综合99久久 | www.欧美色图| 日本一区二区三区四区 | 国产欧美日韩另类视频免费观看| 毛片一区二区三区| 91精品国产aⅴ一区二区| 日韩电影在线一区二区三区| 欧美剧在线免费观看网站| 亚洲一区二区三区四区五区中文 | 欧美高清hd18日本| 舔着乳尖日韩一区| 欧美另类videos死尸| 午夜精品福利一区二区蜜股av| 欧洲人成人精品| 亚洲一区二区在线免费观看视频 | fc2成人免费人成在线观看播放 | 97精品久久久午夜一区二区三区| 日本一区二区久久| 99精品1区2区| 亚洲午夜一区二区| 91精品久久久久久久99蜜桃| 老司机一区二区| 久久久久久久久久久黄色| 国产精品一区二区久久不卡| 中文字幕成人网| 色综合久久久久网| 全国精品久久少妇| 国产欧美日韩精品一区| 一本在线高清不卡dvd| 偷窥国产亚洲免费视频| 精品国内片67194| 成人av在线资源网| 五月婷婷欧美视频| 日韩欧美中文字幕公布| 成人午夜精品在线| 午夜视频在线观看一区二区三区| 欧美tickling网站挠脚心| 成人禁用看黄a在线| 亚洲成人动漫一区| 久久久精品日韩欧美| 91成人国产精品| 久久www免费人成看片高清| 国产精品成人一区二区艾草 | 精品福利在线导航| 91亚洲午夜精品久久久久久| 日韩精品一二三四| 国产精品色呦呦| 欧美一级理论片| av电影天堂一区二区在线观看| 午夜影院久久久| 国产精品国产三级国产aⅴ无密码| 欧美日韩亚洲不卡| 成人永久免费视频| 日韩二区在线观看| 一区二区三区国产精品| 久久精品人人做人人综合 | 天堂久久久久va久久久久| 亚洲国产精品激情在线观看| 欧美一区二区三区在线看| 成人av电影在线| 久久99国产精品久久| 亚洲精品写真福利| 国产女人aaa级久久久级| 欧美一级黄色大片| 91国产免费看| 97久久精品人人做人人爽 | 毛片av一区二区三区| 亚洲六月丁香色婷婷综合久久| 精品免费国产二区三区| 欧美三级日韩在线| 一本久久a久久精品亚洲| 丁香六月综合激情| 国产一区二区在线观看免费| 国产老妇另类xxxxx| 婷婷久久综合九色国产成人| 亚洲人成精品久久久久| 欧美韩国日本一区| 精品蜜桃在线看| 日韩欧美高清在线| 日韩欧美123| 91精品国产综合久久久久| 欧美日韩mp4| 欧美久久久久中文字幕| 欧美午夜片在线观看| 在线观看精品一区| 欧美亚洲一区二区在线观看| 99re在线精品| 91色在线porny| 91在线观看美女| 99久久国产综合精品女不卡| 成人18视频日本| 99精品视频在线播放观看| 99视频在线精品| 91老司机福利 在线| 色一区在线观看| 欧美午夜理伦三级在线观看| 欧美剧在线免费观看网站| 欧美一区二区福利在线| 日韩一区二区免费在线电影| 日韩一区二区三免费高清| 久久综合九色欧美综合狠狠 | 成人app在线| 91在线视频免费观看| 色婷婷精品大在线视频| 欧美日韩国产一级| 91精品国产91热久久久做人人 | 欧美精品日韩一本| 欧美一区二区视频在线观看 | 欧美一级久久久久久久大片| 精品国内二区三区| 国产精品美女久久久久久久久| 亚洲人吸女人奶水| 五月天激情综合| 韩国成人福利片在线播放| 高清视频一区二区| 欧美亚洲国产怡红院影院| 日韩一区二区三区免费观看| 国产亚洲一区字幕| 亚洲激情男女视频| 人人狠狠综合久久亚洲| 床上的激情91.| 欧美日韩国产一区二区三区地区| 精品av久久707| 亚洲丝袜美腿综合| 国产成人鲁色资源国产91色综| 成人三级伦理片| 欧美四级电影在线观看| 欧美不卡在线视频| 伊人婷婷欧美激情| 精品一区二区三区在线观看国产| a4yy欧美一区二区三区| 7777精品伊人久久久大香线蕉完整版| 久久综合一区二区| 亚洲资源在线观看| 国产精品99久久不卡二区| 欧美日本一区二区三区| 久久精品视频在线看| 亚洲va欧美va天堂v国产综合| 国产精品99久久久| 日韩欧美中文字幕制服| 亚洲激情综合网| 国产一区高清在线| 欧美猛男超大videosgay| 国产精品美女久久久久久久| 久久国产综合精品| 欧美性感一区二区三区| 国产精品电影院| 国产麻豆成人传媒免费观看| 欧美日本国产视频| 亚洲欧美二区三区| 国产精品一二三区在线| 91精品国产入口在线| 亚洲精品亚洲人成人网| av在线不卡电影| 国产欧美一区二区精品性| 蜜臀91精品一区二区三区| 欧美综合视频在线观看| 中文字幕一区二区不卡| 国产精品夜夜嗨| 精品捆绑美女sm三区| 日本不卡的三区四区五区| 欧美视频在线观看一区| 亚洲综合在线电影| 97国产一区二区| 亚洲视频一二三区| gogo大胆日本视频一区| 国产精品欧美久久久久一区二区 | 日韩有码一区二区三区| 欧美日韩成人一区| 午夜精品久久一牛影视| 欧美三级中文字幕| 日日摸夜夜添夜夜添国产精品| 欧美丝袜自拍制服另类|