最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用加邊法計(jì)算行列式的值

 更新時(shí)間:2015年08月13日 09:24:43   作者:北風(fēng)其涼  
這篇文章主要介紹了C#使用加邊法計(jì)算行列式的值,實(shí)例分析了C#加邊法計(jì)算行列式的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#使用加邊法計(jì)算行列式的值。分享給大家供大家參考。具體如下:

1.函數(shù)

行列式的值等于其第一行各元素乘以各自對(duì)應(yīng)的代數(shù)余子式之積的和。
(注:本代碼僅提供一種思路,并不代表最優(yōu)解)

/// <summary>
/// 遞歸計(jì)算行列式的值
/// </summary>
/// <param name="matrix">矩陣</param>
/// <returns></returns>
public static double Determinant(double[][] matrix)
{
  //二階及以下行列式直接計(jì)算
  if (matrix.Length == 0) return 0;
  else if (matrix.Length == 1) return matrix[0][0];
  else if (matrix.Length == 2)
  {
    return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0];
  }
  //對(duì)第一行使用“加邊法”遞歸計(jì)算行列式的值
  double dSum = 0, dSign = 1;
  for (int i = 0; i < matrix.Length; i++)
  {
    double[][] matrixTemp = new double[matrix.Length - 1][];
    for (int count = 0; count < matrix.Length - 1; count++)
    {
      matrixTemp[count] = new double[matrix.Length - 1];
    }
    for (int j = 0; j < matrixTemp.Length; j++)
    {
      for (int k = 0; k < matrixTemp.Length; k++)
      {
        matrixTemp[j][k] = matrix[j + 1][k >= i ? k + 1 : k];
      }
    }
    dSum += (matrix[0][i] * dSign * Determinant(matrixTemp));
    dSign = dSign * -1;
  }
  return dSum;
}

2.Main函數(shù)調(diào)用

static void Main(string[] args)
{
  //二階行列式 -2
  double[][] matrix1 = new double[][]
  {
    new double[] { 1, 2 },
    new double[] { 3, 4 }
  };
  Console.WriteLine(Determinant(matrix1));
  //三階行列式 -4
  double[][] matrix2 = new double[][]
  {
    new double[] { 2, 0, 1 },
    new double[] { 1, -4, -1 },
    new double[] { -1, 8, 3 }
  };
  Console.WriteLine(Determinant(matrix2));
  //四階行列式 -21
  double[][] matrix3 = new double[][]
  {
    new double[] { 1, 2, 0, 1 },
    new double[] { 1, 3, 5, 0 },
    new double[] { 0, 1, 5, 6 },
    new double[] { 1, 2, 3, 4 }
  };
  Console.WriteLine(Determinant(matrix3));
  Console.ReadLine();
}

3.運(yùn)行結(jié)果

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#中按指定質(zhì)量保存圖片的實(shí)例代碼

    C#中按指定質(zhì)量保存圖片的實(shí)例代碼

    這篇文章主要介紹了C#中按指定質(zhì)量保存圖片的實(shí)例代碼,有需要的朋友可以參考一下
    2013-12-12
  • C#代碼實(shí)現(xiàn)PDF文檔操作類

    C#代碼實(shí)現(xiàn)PDF文檔操作類

    本篇文章給大家介紹使用pdf文檔操作C#代碼,本文代碼非常簡(jiǎn)單,代碼附有注釋,需要注意的是:需要添加itextsharp.dll引用才可以正常通過(guò)編譯,感興趣的朋友可以參考下
    2015-10-10
  • C#使用表達(dá)式樹(shù)(LambdaExpression)動(dòng)態(tài)更新類的屬性值(示例代碼)

    C#使用表達(dá)式樹(shù)(LambdaExpression)動(dòng)態(tài)更新類的屬性值(示例代碼)

    這篇文章主要介紹了C#使用表達(dá)式樹(shù)(LambdaExpression)動(dòng)態(tài)更新類的屬性值,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • C# 嵌入dll 的方法

    C# 嵌入dll 的方法

    這篇文章主要介紹了C# 嵌入dll 的方法,本文圖文并茂給大家及時(shí)的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • C# 遞歸算法詳解

    C# 遞歸算法詳解

    什么是遞歸函數(shù)/方法?任何一個(gè)方法既可以調(diào)用其他方法也可以調(diào)用自己,而當(dāng)這個(gè)方法調(diào)用自己時(shí),我們就叫它遞歸函數(shù)或遞歸算法,接下來(lái)詳細(xì)介紹需要了解的朋友可以參考下
    2021-11-11
  • C# IsDefined的問(wèn)題

    C# IsDefined的問(wèn)題

    這篇文章主要介紹了C# IsDefined的問(wèn)題,通俗易懂,需要的朋友可以參考下。
    2016-06-06
  • C#實(shí)現(xiàn)從位圖到布隆過(guò)濾器的方法

    C#實(shí)現(xiàn)從位圖到布隆過(guò)濾器的方法

    布隆過(guò)濾器(Bloom filter)是一種特殊的 Hash Table,能夠以較小的存儲(chǔ)空間較快地判斷出數(shù)據(jù)是否存在。常用于允許一定誤判率的數(shù)據(jù)過(guò)濾及防止緩存擊穿及等場(chǎng)景,本文將以 C# 語(yǔ)言來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的布隆過(guò)濾器,為簡(jiǎn)化說(shuō)明,設(shè)計(jì)得很簡(jiǎn)單,需要的朋友可以參考下
    2022-06-06
  • C#設(shè)計(jì)模式之觀察者模式實(shí)例講解

    C#設(shè)計(jì)模式之觀察者模式實(shí)例講解

    這篇文章主要介紹了C#設(shè)計(jì)模式之觀察者模式實(shí)例講解,本文詳細(xì)講解了觀察者模式的定義、優(yōu)缺點(diǎn)、代碼實(shí)例等,需要的朋友可以參考下
    2014-10-10
  • C#繪制鼠標(biāo)指針的示例代碼

    C#繪制鼠標(biāo)指針的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)將鼠標(biāo)的指針樣式給繪制成圖片,顯示或者保存下來(lái),文中的示例代碼講解詳細(xì),需要的可以參考一下
    2024-01-01
  • C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的方法

    C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的方法

    這篇文章主要介紹了C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的方法,涉及C#中SendMessage方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

马山县| 小金县| 琼中| 龙泉市| 长春市| 山西省| 丰城市| 京山县| 蒙山县| 平舆县| 天峨县| 红桥区| 栾城县| 邯郸市| 应城市| 阿拉尔市| 厦门市| 铅山县| 汉川市| 乌审旗| 调兵山市| 湖州市| 大荔县| 纳雍县| 五莲县| 朝阳市| 内黄县| 吕梁市| 沅江市| 福泉市| 乐业县| 花莲县| 弋阳县| 阳谷县| 灵山县| 泸州市| 牙克石市| 乐山市| 鹤山市| 丹东市| 滨州市|