| 5 | 1/1 | 返回列表 |
| 查看: 2839 | 回復(fù): 10 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
舒馬諾銀蟲 (初入文壇)
|
[求助]
帶平方根的(LLT)Cholesky算法分解對稱正定矩陣 c語言實現(xiàn)
|
||
|
新人,不懂規(guī)矩,見諒 大神們好,要求 1先判斷任意矩陣A是否為正定對稱矩陣,否則,返回輸入錯誤 2若輸入為正定對稱矩陣,則將其進行帶平方根的(LLT)Cholesky算法分解,即實現(xiàn)A=LL^T,其中L為下三角形矩陣。 大致就這意思,求助 定理 |
鐵桿木蟲 (職業(yè)作家)
|
void Matrix::zeros(int m,int n,double** a){ for(int i=0;i } } } void Matrix::root(int n,double** A,double** L){ zeros(n,n,L); for(int i=0;i for(int k=0;k } L[j]=(A[j]\[i\]-sum)/L[j][j]; } double sum=0; for(int k=0;k sum+=L\[i\][k]*L\[i\][k]; } L=sqrt(A\[i\]\[i\]-sum); } } 把上面的中括號前的反斜線去掉就行了 |

鐵桿木蟲 (職業(yè)作家)

銀蟲 (初入文壇)
|
# 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("輸入有誤,請檢查" ;} 調(diào)試??行: 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\????數(shù)???\桌???\shiyan\shiyan\Debug\BuildLog.htm" 1>shiyan - 1 error(s), 0 warning(s) ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 工程無法建立 預(yù)期效果: 請輸入矩陣: 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 我的算法??行??通過啊,而且根本未能實現(xiàn)針對任??階次的矩陣。。。求大神幫忙~ |
銀蟲 (初入文壇)
|
# 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("輸入有誤,請檢查" ;} 調(diào)試運行: 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\重要數(shù)據(jù)\桌面\shiyan\shiyan\Debug\BuildLog.htm" 1>shiyan - 1 error(s), 0 warning(s) ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 工程無法建立 失敗了,而且達不到針對任意階次矩陣的效果! |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 083000學碩274求調(diào)劑 +10 | Li李魚 2026-03-26 | 10/500 |
|
|---|---|---|---|---|
|
[考研] 食品工程專碩一志愿中海洋309求調(diào)劑 +5 | 小張zxy張 2026-03-26 | 10/500 |
|
|
[考研] 288資源與環(huán)境專碩求調(diào)劑,不限專業(yè),有學上就行 +11 | lllllos 2026-03-30 | 11/550 |
|
|
[考研] 317求調(diào)劑 +8 | 十閑wx 2026-03-24 | 8/400 |
|
|
[考研] 材料工程專碩求調(diào)劑 +8 | hyl3153942 2026-03-29 | 8/400 |
|
|
[考研] 一志愿南開大學0710生物學359求調(diào)劑 +5 | 兔兔兔111223314 2026-03-29 | 7/350 |
|
|
[考研] 材料專碩 085600求調(diào)劑 +7 | BBQ233 2026-03-30 | 7/350 |
|
|
[考研] 085701求調(diào)劑初試286分 +5 | secret0328 2026-03-28 | 5/250 |
|
|
[考研] 南京大學化學調(diào)劑 +10 | 景隨風 2026-03-29 | 15/750 |
|
|
[考研] 求化學調(diào)劑 +11 | wulanna 2026-03-28 | 11/550 |
|
|
[考研] 總分293求調(diào)劑 +8 | 加一一九 2026-03-25 | 11/550 |
|
|
[考研] 一志愿南昌大學324求調(diào)劑 +5 | hanamiko 2026-03-29 | 5/250 |
|
|
[考研] 材料277求調(diào)劑 +7 | min3 2026-03-24 | 7/350 |
|
|
[考研] 266求調(diào)劑 +11 | 陽陽哇塞 2026-03-27 | 12/600 |
|
|
[考研] 266分求材料化工冶金礦業(yè)等專業(yè)的調(diào)劑 +4 | 哇呼哼呼哼 2026-03-26 | 4/200 |
|
|
[考研]
|
18419759900 2026-03-25 | 8/400 |
|
|
[考研] 調(diào)劑 +4 | 柚柚yoyo 2026-03-26 | 4/200 |
|
|
[考研] 化學調(diào)劑一志愿上海交通大學336分-本科上海211 +4 | 小魚愛有機 2026-03-25 | 4/200 |
|
|
[考研] 打過很多競賽,085406控制工程300分,求調(diào)劑 +3 | askeladz 2026-03-26 | 3/150 |
|
|
[考研] 296求調(diào)劑 +4 | 汪。! 2026-03-25 | 7/350 |
|