行列式计算(C#)
最近几天学习高等代数老师说要写个程序算行列式的结果,闲来无事就简单写了一下。
不多说了,上代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Nrow_culmn
{
class Program
{
//计算行列式 计算复杂度为O(n的3次方)
public static double jlength = ;
static void Main(string[] args)
{
//double[,] row_culmn = { { 3, 1, -1, 1 }, { 1, -1, 1, 2 }, { 2, 1, 2, -1 }, { 1, 0, 2, 1, } };
//行列式二维数组
double[,] row_culmn = { { , , , , }, { , , , , }, { , , , , }, { , , , , }, { , , , , } }; //计算行列式的阶数
jlength = Math.Sqrt(row_culmn.Length); Console.WriteLine("原始行列式为:");
for (int i = ; i < jlength; i++)
{
for (int j = ; j < jlength; j++)
{
Console.Write(row_culmn[i, j].ToString() + " ");
}
Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
int row = ;//行 数组行列下标从0开始 int rowup = ;//向右移动的偏移列(相对行) for (row = ; row < jlength - ; row++)
{
//递归算法将行列式计算为做下三角全为0
ValueRow_Culmn(ref row_culmn, ref row, rowup);
rowup++;
}
//计算行列式的值double值不能默认等于0 否则会所有值都为零
double a = ;
for (int i = ; i < jlength; i++)
{
Console.WriteLine("第" + (i + ) + "行 第" + (i + ) + "列" + row_culmn[i, i]);
a *= row_culmn[i, i];
}
//格式化输出
Console.WriteLine("最后得:");
Console.WriteLine(string.Format("{0:F}",a));
Console.ReadLine(); } public static void ValueRow_Culmn(ref double[,] rc, ref int row, int rowup)
{
//double jlength = Math.Sqrt(rc.Length);
double k;//与列相乘的系数
if (rowup < jlength)
{
//计算行列式系数(第i行比第i-1行)
k = -rc[rowup, row] / rc[row, row];
//通过相乘系数 计算第i行的值
for (int j = ; j < jlength; j++)
{
rc[rowup, j] += rc[row, j] * k;
} Console.WriteLine();
Console.WriteLine();
//打印计算之后的行列式 for (int m = ; m < jlength; m++)
{
for (int j = ; j < jlength; j++)
{
Console.Write(rc[m, j].ToString() + " ");
}
Console.WriteLine();
} Console.WriteLine();
//向下移动行
rowup++;
//递归调用方法函数
ValueRow_Culmn(ref rc, ref row, rowup);
}
else
{ return; }
} }
}
行列式计算(C#)的更多相关文章
- n阶行列式计算----c语言实现(完结)
花了半天时间,写了这个n阶行列式计算的程序,应该算是比较优美吧,有很多地方多次做了优化,程序占用内存不是很大,要是说小吧,也不合适,因为里边有一个递归,而且递归的深度还比较深.时间复杂度具体没有细看, ...
- MyMathLib系列(行列式计算)
靠人不如靠己,准备做自己得MathLib,在学校的时候,就想过把数学数理的东西都计算机化.但一直没有时间去做这件事情,如今认为空余 时间比較闲,就做做这件事情,先从线性代数開始,毕竟这里面的非常多算法 ...
- MyMathLib系列(行列式计算2)
/// <summary> /// 行列式计算,本程序属于MyMathLib的一部分.欢迎使用,參考,提意见. /// 有时间用函数语言改写,做自己得MathLib,里面的算法经过验证,但 ...
- Java实现行列式计算
前天我看线代书,看到行列式,发现是个递归的式子,恰巧又正在学java,产生写程序实现的想法.写了两个小时,觉得实现了,写了个行列式放进去测试,我放的是 这个行列式,经过程序计算后发现结果是0.我以为我 ...
- python 行列式计算
N= #声明2x2的数组arr并将所有元素赋值为 None arr=[[None] * N for row in range(N)] print('|a1 b1|') print('|a2 b2|') ...
- HDU 5852 Intersection is not allowed! ( 2016多校9、不相交路径的方案、LGV定理、行列式计算 )
题目链接 题意 : 给定方格中第一行的各个起点.再给定最后一行与起点相对应的终点.问你从这些起点出发到各自的终点.不相交的路径有多少条.移动方向只能向下或向右 分析 : 首先对于多起点和多终点的不相交 ...
- n阶行列式计算
1.化为上下三角 该类型的矩阵.行列式在之前写过(https://www.cnblogs.com/wangzheming35/p/12906624.html),也建议记住这个行列式的结论. 当然不仅仅 ...
- HDU_2036——多边形面积,行列式计算
Problem Description “ 改革春风吹满地, 不会AC没关系; 实在不行回老家, 还有一亩三分地. 谢谢!(乐队奏乐)”话说部分学生心态极好,每天就知道游戏,这次考试如此简单的题目,也 ...
- Python实现行列式计算
数学公式: 代码: # 逆序数 def getInversion(numlist): count = 0 for i in range(1,len(numlist)): subscript = num ...
随机推荐
- javascript快速排序
function quickSort(arr){ if(arr.length <= 1) return arr;//判断是否有效数组 var cut = Math.floor(arr.lengt ...
- python对XML的解析
原文:http://blog.csdn.net/yueguanghaidao/article/details/7265246 python有三种方法解析XML,SAX,DOM,以及ElementTre ...
- String.format介绍
java类中提供的一种方法:String.format(String format, Object ... args) 提供字符串格式化功能: 不同转换符实现不同数据类型到字符串的转换: %s--字符 ...
- 用PowerMock spy mock private方法
在实际的工作中,经常碰到只需要mock一个类的一部分方法,这时候可以用spy来实现. 被测类: public class EmployeeService { public boolean exist( ...
- SQL--create Table
use MiddleHospitalgocreate table CMS_Infopublish_Auction( AuctionID int identity(1, 1) primary key, ...
- schema约束和引入
schema的概述 schema约束同为xml文件的约束模式语言之一, 最大的作用是为了验证xml文件的规范性的. 是为了解决dtd约束不够的问题, 相应的他的配置就变得比较复杂 schema本身就是 ...
- windows下安装rabbitmq的php扩展amqp
最近研究rabbitmq队列,linux安装这样的软件一向都是很方便的,但是windows可能会比较麻烦,所以对windows的安装做个记录. windows上使用的php扩展为dll文件,首先去下载 ...
- 【转】sql to_char 日期转换字符串
1.转换函数 与date操作关系最大的就是两个转换函数:to_date(),to_char() to_date() 作用将字符类型按一定格式转化为日期类型: 具体用法:to_date('2004-11 ...
- 0427 scrum & 读后感
5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 6. 团队项目选题 详情见团队博客:http://www.cnblogs.com/alfredzhu/ htt ...
- Linux内核分析学习总结
20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期开 ...