资源简介
实现了 多元一次方程的求解 (二元一次方程组 三元一次方程组 四元一次方程组等)的三种算法 是本人在myeclipse10下编写出来的 并测试成功 很方便调用 希望带给大家惊喜

代码片段和文件信息
/**因要求解四元一次方程组 甚至五元一次方程组 为了避免重复的劳动遂有了写这个求解函数的想法
* @系统名称 :wm
* @创建人:cqf
* @创建时间 :2013-9-7 下午2:35:38
*/
package com.framework.util;
/**
* @系统名称 :wm
* @创建人:cqf
* @功能描述 :本程序利用克拉默法则解多元一次方程组
* @创建时间 :2013-9-7 下午2:35:38
*/
public class ZcramerRuleMatrix {
private double[][] savequot;// 保存变量系数
private double[] constquot;// 保存常量系数
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 < count; i++) {
for (j = 0; j < count; j++) {
savequot[i][j] = quot[i][j];
}
constquot[i] = quot[i][count];
saveResult[i] = 0;
}
}
private double getMatrixResult(double input[][])// 递归的方法求得某个行列式的值
{
if (input.length == 2)// 递归出口,为二阶行列式时,直接返回
{
return input[0][0] * input[1][1] - input[0][1] * input[1][0];
} else {
double[] temp = new double[input.length];// 存放第一列的系数值
double[][] tempinput = new double[input.length - 1][input.length - 1];
double result = 0;
for (int i = 0; i < input.length; i++) {
temp[i] = input[i][0];
int m = 0 n = 0;
for (int k = 0; k < input.length; k++) {
if (k != i) {
for (m = 0; m < input.length - 1; m++) {
tempinput[n][m] = input[k][m + 1];// 删除当前变量系数所在的行和列,得到减少一阶的新的行列式
}
n++;
}
}
if (i % 2 == 0)// 递归调用,利用代数余子式与相应系数变量的乘积之和得到多阶行列式的值
{
result = result + temp[i] * getMatrixResult(tempinput);
} else {
result = result - temp[i] * getMatrixResult(tempinput);
}
}
return result;
}
}
private double[][] getReplaceMatrix(int i)// 用常数系数替换相应的变量系数得到新的行列式
{
double tempresult[][] = new double[savequot.length][savequot.length];
for (int m = 0; m < savequot.length; m++) {
for (int n = 0; n < savequot.length; n++) {
if (i != m) {
tempresult[n][m] = savequot[n][m];
} else {
tempresult[n][i] = constquot[n];// 用常量系数替换当前变量系数
}
}
}
return tempresult;
}
public double[] getResult() {
double basic = 0;
basic = getMatrixResult(savequot);// 得到变量系数行列式的值
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论