StdAfx.cpp
上传用户:szacenet
上传日期:2022-06-20
资源大小:317k
文件大小:1k
源码类别:

图形图象

开发平台:

Visual C++

  1. // stdafx.cpp : source file that includes just the standard includes
  2. // DLT.pch will be the pre-compiled header
  3. // stdafx.obj will contain the pre-compiled type information
  4. #include "stdafx.h"
  5. //矩阵转置
  6. void transpose(double *m1,double *m2,int m,int n) 
  7. { int i,j;
  8. for(i=0;i<m;i++)
  9. for(j=0;j<n;j++)
  10. m2[j*m+i]=m1[i*n+j];
  11. return;
  12. }
  13. /*正定矩阵求逆*/
  14. void inv(double *a,int n)
  15. int i,j,k;
  16.     for(k=0;k<n;k++)
  17. {
  18.         for(i=0;i<n;i++)
  19. {
  20.             if(i!=k)
  21. *(a+i*n+k)=-*(a+i*n+k)/(*(a+k*n+k));
  22. }
  23.         *(a+k*n+k)=1/(*(a+k*n+k));
  24.         for(i=0;i<n;i++)
  25. {
  26.             if(i!=k)
  27. {
  28.                 for(j=0;j<n;j++)
  29. {
  30.                     if(j!=k)
  31. *(a+i*n+j)+=*(a+k*n+j)* *(a+i*n+k);
  32. }
  33. }
  34. }
  35.         for(j=0;j<n;j++)
  36. {
  37.             if(j!=k)
  38. *(a+k*n+j)*=*(a+k*n+k);
  39. }
  40. }
  41. }
  42. //矩阵相乘
  43. void mult(double *m1,double *m2,double *result,int i_1,int j_12,int j_2) 
  44. int i,j,k; 
  45. for(i=0;i<i_1;i++)
  46.         for(j=0;j<j_2;j++)
  47. {
  48.             result[i*j_2+j]=0.0;
  49.             for(k=0;k<j_12;k++)
  50. result[i*j_2+j]+=m1[i*j_12+k]*m2[j+k*j_2];
  51. }
  52. return;
  53. }