| 查看: 2747 | 回复: 10 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
带平方根的(LLT)Cholesky算法分解对称正定矩阵 c语言实现
|
||
|
新人,不懂规矩,见谅 大神们好,要求 1先判断任意矩阵A是否为正定对称矩阵,否则,返回输入错误 2若输入为正定对称矩阵,则将其进行带平方根的(LLT)Cholesky算法分解,即实现A=LL^T,其中L为下三角形矩阵。 大致就这意思,求助 定理 |
» 猜你喜欢
退学或坚持读
已经有27人回复
面上基金申报没有其他的参与者成吗
已经有5人回复
有70后还继续奋斗在职场上的吗?
已经有5人回复
遇见不省心的家人很难过
已经有22人回复
博士延得我,科研能力直往上蹿
已经有5人回复
多组分精馏求助
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
S型曲线拟合优度问题,求大神帮忙
已经有9人回复
正定矩阵因子分解~~~
已经有5人回复
方阵是否正定?
已经有4人回复
求助一道关于正定矩阵的证明题
已经有5人回复
求C语言算法 求自然指数方程的根
已经有4人回复
Java矩阵算法大全
已经有62人回复
非负矩阵分解总结之一
已经有62人回复
关于伴随矩阵正定的问题
已经有15人回复
如何实现矩阵之间的比值
已经有4人回复
xiuyouxu
铁杆木虫 (职业作家)
- 应助: 43 (小学生)
- 金币: 16507.7
- 散金: 540
- 红花: 6
- 沙发: 2
- 帖子: 3207
- 在线: 580.7小时
- 虫号: 1256596
- 注册: 2011-04-06
- 性别: GG
- 专业: 数理统计

8楼2012-05-03 23:10:36
xiuyouxu
铁杆木虫 (职业作家)
- 应助: 43 (小学生)
- 金币: 16507.7
- 散金: 540
- 红花: 6
- 沙发: 2
- 帖子: 3207
- 在线: 580.7小时
- 虫号: 1256596
- 注册: 2011-04-06
- 性别: GG
- 专业: 数理统计

2楼2012-05-03 21:28:11
|
# include # include void main() { float m,A[9]; float L[6]; printf("请输入矩阵: \n " ;scanf("%f %f %f\n%f %f %f\n%f %f %f\n",&A[0],&A[1],&A[2],&A[3],&A[4],&A[5],&A[6],&A[7],&A[8]); printf("请输入??许误差:m=" ;scanf("%f",&m); if A[0]>m&&(A[0]*A[4]-A[1]*A[3]>m)&&(A[6]*A[4]*A[2]+A[0]*A[7]*A[5]+A[1]*A[3]*A[8]-A[0]*A[4]*A[8]-A[1]*A[6]*A[5]-A[2]*A[3]*A[7]>m)&&(A[1]==A[3])&&(A[2]==A[6])&&(A[5]==A[7]) { L[0]=sqrt(A[0]); L[1]=A[3]/L[0]; L[3]=A[6]/L[0]; L[2]=sqrt(A[4]-L[1]*L[1]); L[4]=(A[7]-L[3]*L[1])/L[2]; L[5]=sqrt(A[8]-L[3]*L[3]-L[4]*L[4]); printf("所求矩阵为L=\n %f 0 0\n%f %f 0\n%f %f %f\n",L[0],L[1],L[2],L[3],L[4], L[5]); } else printf("输入有误,请检查" ;} 调试??行: 1>.\Debug\shiyan.exe.intermediate.manifest : general error c1010070: Failed to load and parse the manifest. {_~0p'1a@'7v par 1>Build log was saved at "file://e:\360data\????数???\桌???\shiyan\shiyan\Debug\BuildLog.htm" 1>shiyan - 1 error(s), 0 warning(s) ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 工程无法建立 预期效果: 请输入矩阵: 1 2 3 2 4 5 3 5 6 请输入??许误差:m=1e-6 输入有误,请检查 请输入矩阵: 5 2 -4 2 1 -2 -4 -2 5 请输入??许误差:m=1e-6 所求矩阵L= 2.236068 0 0 0.894427 0.4472136 0 -1.788854 -0.894427 1 我的算法??行??通过啊,而且根本未能实现针对任??阶次的矩阵。。。求大神帮忙~ |
3楼2012-05-03 22:13:16
|
# include # include void main() { float m,A[9]; float L[6]; printf("请输入矩阵: \n " ;scanf("%f %f %f\n%f %f %f\n%f %f %f\n",&A[0],&A[1],&A[2],&A[3],&A[4],&A[5],&A[6],&A[7],&A[8]); printf("请输入允许误差:m=" ;scanf("%f",&m); if A[0]>m&&(A[0]*A[4]-A[1]*A[3]>m)&&(A[6]*A[4]*A[2]+A[0]*A[7]*A[5]+A[1]*A[3]*A[8]-A[0]*A[4]*A[8]-A[1]*A[6]*A[5]-A[2]*A[3]*A[7]>m)&&(A[1]==A[3])&&(A[2]==A[6])&&(A[5]==A[7]) { L[0]=sqrt(A[0]); L[1]=A[3]/L[0]; L[3]=A[6]/L[0]; L[2]=sqrt(A[4]-L[1]*L[1]); L[4]=(A[7]-L[3]*L[1])/L[2]; L[5]=sqrt(A[8]-L[3]*L[3]-L[4]*L[4]); printf("所求矩阵为L=\n %f 0 0\n%f %f 0\n%f %f %f\n",L[0],L[1],L[2],L[3],L[4], L[5]); } else printf("输入有误,请检查" ;} 调试运行: 1>.\Debug\shiyan.exe.intermediate.manifest : general error c1010070: Failed to load and parse the manifest. {_~0p'1a@'7v par 1>Build log was saved at "file://e:\360data\重要数据\桌面\shiyan\shiyan\Debug\BuildLog.htm" 1>shiyan - 1 error(s), 0 warning(s) ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 工程无法建立 失败了,而且达不到针对任意阶次矩阵的效果! |
4楼2012-05-03 22:17:09













回复此楼
;