1 / 18
文档名称:

对称矩阵的平方根法.docx

格式:docx   大小:74KB   页数:18页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

对称矩阵的平方根法.docx

上传人:sssmppp 2022/6/28 文件大小:74 KB

下载得到文件列表

对称矩阵的平方根法.docx

相关文档

文档介绍

文档介绍:数值计算方法
09医软(1)班
本组实验同学:刘康康 秦强 梅世友 马蕾 乔琼
任务分配:刘康康:分析平方根法解对称矩阵的思想,并写 出推导过程
秦强:利用C++实现算法,并写出程序
梅世友:调试并运行程序
马蕾:根据解方程组的 种分解也是唯一的。
11
111 122
l2
A=L1 L'\ -
In 1 In 2
In n
In n
用比较法可导出计算L1元素的计算公式,对i=1,2, n
i~l
ii —
Clii —〉lik
s ,
这一方法称为平方根法,又称Choi esky分解。
(二)程序的实现
#ir)cIude "stdio. h" #i ncIude "math, h" #define N 20 i nt ma i n () { int i, j, k;
i nt size;
int n=0;
float a[N] [N], I [N] [N];
f I oat b [N], x [N], y [N];
//f I oat S, H, M,L;
pr i ntf ("\t\t\t\t*Cho I esky 分解法解方程*\n");
pr intf ("请输入方阵A的n:");
scant ("%d", &s i ze);
printf("\n");
pr intf ("请输入方程组的系数:\n");
〃数组a[] □的输入
for (i=0;i<size;i++)
{
for (j=0;j<size;j++)
{
scanf ("%f", &a[i] [j]);
}
1
pr i ntf ("\n请输入方程组的y: \n");
〃数组b 口的输入
for (i=0;i<size;i++)
scanf ("%f",&b[i]);
pr intf ("\n 方阵 A□□为:\n");
//□□的输出
for(i=0;i<s i ze;i++)
for (j=0;j<size;j++)
}
printf("\n");
1
pr i ntf ("\n 方程组 y 为:\n");
〃数组b □的输出
for (i=0;i<size;i++)
pr intf ("%f ", b[i]);
printf("\n\n");
//
for (i=0;i<s i ze;i++)
{
for (j=0;j<s ize;j++)
{
if(a[i][j]==a[j][i])
n=n+1;
}
}
if (n!=s ize*s i ze)
{
printf ("次线性方程组的系数不是对称矩阵,不可以用平方根
法,请按键退出\n");
return 0;
else
{
printf ("次线性方程组的系数是对称矩阵,可以用平方根法, 算法如下:\n\n");
//
计算Lii
I [0] [0]=sqrt (a[0] [0]);
for (i=1;i<size;i++)
{
l[i][0]=a[i][0]/l[0] [0];
pr intf (" I [%d] [0]=%f\n", i, I [i] [0]);
}
for (i=1;i<size;i++)
{
l[i][i]=a[i][i];
pr intf (" I [%d] [%d]=%f\n", i, i, I [i] [i]);
for (k=0;k< i;k++)
l[i][i] = l[i][i]-l[i][k]*|[i][k];
二二 qA二 >
(++2S〉一二'!) JOM-
二o〕〔o〕\〔o〕qn〔o>
.K S
.9二 - ((□〕〔「〕-■-「=U2H-%H〔PM〔p%〕r)M-+JUMd
二二口〕\〔二3二〔二〔「〕_ 二己口〕_*£〔「_'二S-A二〔「_
(+w¥o&』om-
f (〔二〔「〕-~「=uu成〔p*〕〔PK〕r)%UMd
二二〔「〕#〔二3一
(++「(曾2〉「二+|7「)JOH-
以7玉泰 f (〔二〔二一 -u\UE*n〔PM〔PMrw+JuTd
二〔二〔二 一)tbsn〔二口_
for (k=0;k< i;k++)
y [ i ] =y [ i ] -1 [ i ] [k] *y [k];
}
y[i]=y[i]/l[i][i];
printf("y[%d]=%f\n", i,y[i]);
}
printf("\n");
for