矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf

矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf

ID:56985986

大小:106.85 KB

页数:12页

时间:2020-07-30

矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf_第1页
矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf_第2页
矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf_第3页
矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf_第4页
矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf_第5页
资源描述:

《矩阵四种分解:PALU,QR,Household,Givens的c程序.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include"stdio.h"#include"malloc.h"#include"math.h"voidScanMatrix(float*arr,intm,intn);//输入矩阵voidmatrixmul(float*arr1,float*arr2,float*arr3,intm,intn,intk);//矩阵数乘函数voidprintm(charc,float*arr,intm,intn);//矩阵打印函数voidPALU(float*arr,intm,intn);//PA=LU分解函数voidGram_Schmint(float*arr

2、,intm,intn);//QR分解函数voidHousehold(float*arr,intm,intn);//household分解函数voidGivens(float*arr,intm,intn);//givens分解函数voiddivide();//分解矩阵总函数intmain(){divide();return0;}voiddivide(){intm,n,method,flag=1;charc='0';while(c!='#'){printf("请输入mXn矩阵维度m:");scanf("%d",&m);printf("请输入mXn矩阵维

3、度n:");scanf("%d",&n);float*arr=(float*)malloc(sizeof(float)*m*n);ScanMatrix(arr,m,n);while(flag){printf("请输入矩阵的分解方式:1-PA=LU,2-Gram-Schmit正交化A=QR,3-Household分解A=QU,4-Givens分解A=QU。5-结束分解.");scanf("%d",&method);switch(method){case1:PALU(arr,m,n);break;case2:Gram_Schmi

4、nt(arr,m,n);break;case3:Household(arr,m,n);break;case4:Givens(arr,m,n);break;case5:flag=0;break;}}flag=1;printf("输入#结束,否则继续重新输入矩阵开始分解:");getchar();c=getchar();free(arr);}}voidPALU(float*arr,intm,intn){inti,j,k,p,q,exsit=1,change1=0,change2=0;floatt,s;float*arrt=(float*)malloc(

5、sizeof(float)*m*n);float*P=(float*)malloc(sizeof(float)*m*m);float*L=(float*)malloc(sizeof(float)*m*m);for(i=0;i

6、i0&&j

7、j行逐个进行值交换;*(P+j*m+k)=*(P+i*m+k);*(P+i*m+k)=t;}break;}if(j==n){exsit=0;printf("矩阵不满秩,不可分解!");//不存在非零主元;break;}}}for(p=i+1;p

8、s)*(*(arrt+i*n+q))/(*(arrt+i*n+i));//消元过程}}for(k=0;k

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。