| ²é¿´: 2656 | »Ø¸´: 10 | ||
ÊæÂíÅµÒø³æ (³õÈëÎÄ̳)
|
[ÇóÖú]
´øÆ½·½¸ùµÄ£¨LLT£©CholeskyËã·¨·Ö½â¶Ô³ÆÕý¶¨¾ØÕó cÓïÑÔʵÏÖ
|
|
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
SÐÍÇúÏßÄâºÏÓŶÈÎÊÌ⣬Çó´óÉñ°ïæ
ÒѾÓÐ9È˻ظ´
Õý¶¨¾ØÕóÒò×Ó·Ö½â~~~
ÒѾÓÐ5È˻ظ´
·½ÕóÊÇ·ñÕý¶¨£¿
ÒѾÓÐ4È˻ظ´
ÇóÖúÒ»µÀ¹ØÓÚÕý¶¨¾ØÕóµÄÖ¤Ã÷Ìâ
ÒѾÓÐ5È˻ظ´
ÇóCÓïÑÔËã·¨ Çó×ÔȻָÊý·½³ÌµÄ¸ù
ÒѾÓÐ4È˻ظ´
Java¾ØÕóËã·¨´óÈ«
ÒѾÓÐ62È˻ظ´
·Ç¸º¾ØÕó·Ö½â×ܽáÖ®Ò»
ÒѾÓÐ62È˻ظ´
¹ØÓÚ°éËæ¾ØÕóÕý¶¨µÄÎÊÌâ
ÒѾÓÐ15È˻ظ´
ÈçºÎʵÏÖ¾ØÕóÖ®¼äµÄ±ÈÖµ
ÒѾÓÐ4È˻ظ´
xiuyouxu
Ìú¸Ëľ³æ (Ö°Òµ×÷¼Ò)
- Ó¦Öú: 43 (СѧÉú)
- ½ð±Ò: 16372.7
- É¢½ð: 540
- ºì»¨: 6
- ɳ·¢: 2
- Ìû×Ó: 3207
- ÔÚÏß: 580.4Сʱ
- ³æºÅ: 1256596
- ×¢²á: 2011-04-06
- ÐÔ±ð: GG
- רҵ: ÊýÀíͳ¼Æ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
| ½¨ÒéÕÒÒ»±¾ÊýÖµ·ÖÎöµÄÊé¿´Ò»ÏÂ,ÀïÃæÓоßÌåµÄËã·¨,ÎÒÒÔǰʵÏÖ¹ý,ÆäËûÓïÑÔµÄ,ûÓÐÓÃcÓïÑÔ×ö¹ý. |

2Â¥2012-05-03 21:28:11
ÊæÂíŵ
Òø³æ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 421.5
- Ìû×Ó: 38
- ÔÚÏß: 48.3Сʱ
- ³æºÅ: 1405978
- ×¢²á: 2011-09-18
- ÐÔ±ð: GG
- רҵ: »ú¹¹Ñ§Óë»úÆ÷ÈË
|
# 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
ÊæÂíŵ
Òø³æ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 421.5
- Ìû×Ó: 38
- ÔÚÏß: 48.3Сʱ
- ³æºÅ: 1405978
- ×¢²á: 2011-09-18
- ÐÔ±ð: GG
- רҵ: »ú¹¹Ñ§Óë»úÆ÷ÈË
|
# 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
xiuyouxu
Ìú¸Ëľ³æ (Ö°Òµ×÷¼Ò)
- Ó¦Öú: 43 (СѧÉú)
- ½ð±Ò: 16372.7
- É¢½ð: 540
- ºì»¨: 6
- ɳ·¢: 2
- Ìû×Ó: 3207
- ÔÚÏß: 580.4Сʱ
- ³æºÅ: 1256596
- ×¢²á: 2011-04-06
- ÐÔ±ð: GG
- רҵ: ÊýÀíͳ¼Æ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
matlabÀïÃæÖ±½ÓÓÃrootº¯Êý¾Í¿ÉÒÔÁË, ÏÂÃæÊÇÎÒдµÄc++µÄ: // ¶¨ÒåMatrixÀà(ÂÔ) // m*n½×0¾ØÕó void Matrix::zeros(int m,int n,double** a){ for(int i=0;i } } } // nΪ¾ØÕóµÄ½× 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]-sum)/L[j][j]; } double sum=0; for(int k=0;k sum+=L[k]*L[k]; } L=sqrt(A-sum);// ÏÔÈ» A-sum<0ʱ²»ÊÇÕý¶¨¾ØÕó } } |

5Â¥2012-05-03 22:29:03
ÊæÂíŵ
Òø³æ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 421.5
- Ìû×Ó: 38
- ÔÚÏß: 48.3Сʱ
- ³æºÅ: 1405978
- ×¢²á: 2011-09-18
- ÐÔ±ð: GG
- רҵ: »ú¹¹Ñ§Óë»úÆ÷ÈË
6Â¥2012-05-03 23:00:27
xiuyouxu
Ìú¸Ëľ³æ (Ö°Òµ×÷¼Ò)
- Ó¦Öú: 43 (СѧÉú)
- ½ð±Ò: 16372.7
- É¢½ð: 540
- ºì»¨: 6
- ɳ·¢: 2
- Ìû×Ó: 3207
- ÔÚÏß: 580.4Сʱ
- ³æºÅ: 1256596
- ×¢²á: 2011-04-06
- ÐÔ±ð: GG
- רҵ: ÊýÀíͳ¼Æ

7Â¥2012-05-03 23:09:59
xiuyouxu
Ìú¸Ëľ³æ (Ö°Òµ×÷¼Ò)
- Ó¦Öú: 43 (СѧÉú)
- ½ð±Ò: 16372.7
- É¢½ð: 540
- ºì»¨: 6
- ɳ·¢: 2
- Ìû×Ó: 3207
- ÔÚÏß: 580.4Сʱ
- ³æºÅ: 1256596
- ×¢²á: 2011-04-06
- ÐÔ±ð: GG
- רҵ: ÊýÀíͳ¼Æ

8Â¥2012-05-03 23:10:36
xiuyouxu
Ìú¸Ëľ³æ (Ö°Òµ×÷¼Ò)
- Ó¦Öú: 43 (СѧÉú)
- ½ð±Ò: 16372.7
- É¢½ð: 540
- ºì»¨: 6
- ɳ·¢: 2
- Ìû×Ó: 3207
- ÔÚÏß: 580.4Сʱ
- ³æºÅ: 1256596
- ×¢²á: 2011-04-06
- ÐÔ±ð: GG
- רҵ: ÊýÀíͳ¼Æ
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
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); } } °ÑÉÏÃæµÄÖÐÀ¨ºÅǰµÄ·´Ð±ÏßÈ¥µô¾ÍÐÐÁË |

9Â¥2012-05-03 23:12:39
ÊæÂíŵ
Òø³æ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 421.5
- Ìû×Ó: 38
- ÔÚÏß: 48.3Сʱ
- ³æºÅ: 1405978
- ×¢²á: 2011-09-18
- ÐÔ±ð: GG
- רҵ: »ú¹¹Ñ§Óë»úÆ÷ÈË
10Â¥2012-05-03 23:13:29













»Ø¸´´ËÂ¥
;