資源簡(jiǎn)介
實(shí)現(xiàn)了 多元一次方程的求解 (二元一次方程組 三元一次方程組 四元一次方程組等)的三種算法 是本人在myeclipse10下編寫出來的 并測(cè)試成功 很方便調(diào)用 希望帶給大家驚喜

代碼片段和文件信息
/**因要求解四元一次方程組?甚至五元一次方程組?為了避免重復(fù)的勞動(dòng)遂有了寫這個(gè)求解函數(shù)的想法
?*?@系統(tǒng)名稱?:wm
?*?@創(chuàng)建人:cqf
?*?@創(chuàng)建時(shí)間?:2013-9-7?下午2:35:38
?*/
package?com.framework.util;
/**
?*?@系統(tǒng)名稱?:wm
?*?@創(chuàng)建人:cqf
?*?@功能描述?:本程序利用克拉默法則解多元一次方程組
?*?@創(chuàng)建時(shí)間?:2013-9-7?下午2:35:38
?*/
public?class?ZcramerRuleMatrix?{
????private?double[][]?savequot;//?保存變量系數(shù)
????private?double[]?constquot;//?保存常量系數(shù)
????private?double[]?saveResult;//?保存解的集合
????public?ZcramerRuleMatrix(double?quot[][])?{
????????int?count?=?quot.length;
????????savequot?=?new?double[count][count];
????????constquot?=?new?double[count];
????????saveResult?=?new?double[count];
????????int?i?=?0?j?=?0;
????????for?(i?=?0;?i?????????????for?(j?=?0;?j?????????????????savequot[i][j]?=?quot[i][j];
????????????}
????????????constquot[i]?=?quot[i][count];
????????????saveResult[i]?=?0;
????????}
????}
????private?double?getMatrixResult(double?input[][])//?遞歸的方法求得某個(gè)行列式的值
????{
????????if?(input.length?==?2)//?遞歸出口,為二階行列式時(shí),直接返回
????????{
????????????return?input[0][0]?*?input[1][1]?-?input[0][1]?*?input[1][0];
????????}?else?{
????????????double[]?temp?=?new?double[input.length];//?存放第一列的系數(shù)值
????????????double[][]?tempinput?=?new?double[input.length?-?1][input.length?-?1];
????????????double?result?=?0;
????????????for?(int?i?=?0;?i?????????????????temp[i]?=?input[i][0];
????????????????int?m?=?0?n?=?0;
????????????????for?(int?k?=?0;?k?????????????????????if?(k?!=?i)?{
????????????????????????for?(m?=?0;?m?????????????????????????????tempinput[n][m]?=?input[k][m?+?1];//?刪除當(dāng)前變量系數(shù)所在的行和列,得到減少一階的新的行列式
????????????????????????}
????????????????????????n++;
????????????????????}
????????????????}
????????????????if?(i?%?2?==?0)//?遞歸調(diào)用,利用代數(shù)余子式與相應(yīng)系數(shù)變量的乘積之和得到多階行列式的值
????????????????{
????????????????????result?=?result?+?temp[i]?*?getMatrixResult(tempinput);
????????????????}?else?{
????????????????????result?=?result?-?temp[i]?*?getMatrixResult(tempinput);
????????????????}
????????????}
????????????return?result;
????????}
????}
????private?double[][]?getReplaceMatrix(int?i)//?用常數(shù)系數(shù)替換相應(yīng)的變量系數(shù)得到新的行列式
????{
????????double?tempresult[][]?=?new?double[savequot.length][savequot.length];
????????for?(int?m?=?0;?m?????????????for?(int?n?=?0;?n?????????????????if?(i?!=?m)?{
????????????????????tempresult[n][m]?=?savequot[n][m];
????????????????}?else?{
????????????????????tempresult[n][i]?=?constquot[n];//?用常量系數(shù)替換當(dāng)前變量系數(shù)
????????????????}
????????????}
????????}
????????return?tempresult;
????}
????public?double[]?getResult()?{
????????double?basic?=?0;
????????basic?=?getMatrixResult(savequot);//?得到變量系數(shù)行列式的值
????????if?(Math.abs(basic)?0.00001)?{
????????????System.out.println(“it?dose?not?have?the?queue?result!“);
????????????return?saveResult;
????????}
????????double[][]?temp?=?new?double[saveResult.length][saveR
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2527??2013-09-07?15:51??ZgaussianEliminationMatrix2.java
?????文件???????3352??2013-09-07?15:51??ZgaussianEliminationMatrix.java
?????文件???????4514??2013-09-07?15:50??ZcramerRuleMatrix.java
-----------?---------??----------?-----??----
????????????????10393????????????????????3
評(píng)論
共有 條評(píng)論