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

C#判斷一個(gè)矩陣是否為對(duì)稱矩陣及反稱矩陣的方法

 更新時(shí)間:2015年08月12日 15:48:58   作者:北風(fēng)其涼  
這篇文章主要介紹了C#判斷一個(gè)矩陣是否為對(duì)稱矩陣及反稱矩陣的方法,涉及C#矩陣遍歷及檢查等相關(guān)運(yùn)算技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#判斷一個(gè)矩陣是否為對(duì)稱矩陣及反稱矩陣的方法。分享給大家供大家參考。具體如下:

1.判斷對(duì)稱矩陣

對(duì)任意i和j,有a[i,j]=a[j,i]

/// <summary>
/// 檢查一個(gè)矩陣是否為對(duì)稱矩陣
/// </summary>
/// <param name="matrix">矩陣</param>
/// <returns>true:是對(duì)稱矩陣 false:不是對(duì)稱矩陣</returns>
private static bool isSymmetric(double[][] matrix)
{
 //矩陣沒有元素的情況
 if (matrix.Length == 0)
 {
  return true;
 }
 //合法性檢查:1)matrix應(yīng)為矩陣;2)matrix應(yīng)為方陣
 if (!isMatrix(matrix) || matrix.Length != matrix[0].Length)
 {
  throw new Exception("輸入不合法");
 }
 //矩陣對(duì)稱條件:對(duì)任意i,j有a[i,j]=a[j,i]
 for (int i = 0; i < matrix.Length; i++)
 {
  for (int j = 0; j < i; j++)
  {
   if (matrix[i][j] != matrix[j][i])
   {
    return false;
   }
  }
 }
 return true;
}

2.判斷反稱矩陣

對(duì)任意i和j,有a[i,j]=-a[j,i]

/// <summary>
/// 檢查一個(gè)矩陣是否為反稱矩陣
/// </summary>
/// <param name="matrix">矩陣</param>
/// <returns>true:是反稱矩陣 false:不是反稱矩陣</returns>
private static bool isSkewSymmetric(double[][] matrix)
{
 //矩陣沒有元素的情況
 if (matrix.Length == 0)
 {
  return true;
 }
 //合法性檢查:1)matrix應(yīng)為矩陣;2)matrix應(yīng)為方陣
 if (!isMatrix(matrix) || matrix.Length != matrix[0].Length)
 {
  throw new Exception("輸入不合法");
 }
 //矩陣反稱條件:對(duì)任意i,j有a[i,j]=-a[j,i]
 for (int i = 0; i < matrix.Length; i++)
 {
  for (int j = 0; j <= i; j++)
  {
   if (matrix[i][j] != -matrix[j][i])
   {
    return false;
   }
  }
 }
 return true;
}

3.相關(guān)函數(shù)

/// <summary>
/// 判斷一個(gè)二維數(shù)組是否為矩陣
/// </summary>
/// <param name="matrix">二維數(shù)組</param>
/// <returns>true:是矩陣 false:不是矩陣</returns>
private static bool isMatrix(double[][] matrix)
{
 //空矩陣是矩陣
 if (matrix.Length < 1) return true;
 //不同行列數(shù)如果不相等,則不是矩陣
 int count = matrix[0].Length;
 for (int i = 1; i < matrix.Length; i++)
 {
  if (matrix[i].Length != count)
  {
   return false;
  }
 }
 //各行列數(shù)相等,則是矩陣
 return true;
}

4.函數(shù)調(diào)用示例

1)Main函數(shù)代碼

static void Main(string[] args)
{
 //測(cè)試矩陣1:matrix1
 double[][] matrix1 = new double[][] 
 {
  new double[] { 1, 2, 3 },
  new double[] { 2, 1, 2 },
  new double[] { 3, 2, 1 }
 };
 if (isSymmetric(matrix1)) { Console.WriteLine("matrix1 是對(duì)稱矩陣"); }
 else { Console.WriteLine("matrix1 不是對(duì)稱矩陣"); }
 if (isSkewSymmetric(matrix1)) { Console.WriteLine("matrix1 是反稱矩陣"); }
 else { Console.WriteLine("matrix1 不是反稱矩陣"); }
 //測(cè)試矩陣2:matrix2
 double[][] matrix2 = new double[][] 
 {
  new double[] { 0, 1, 2 },
  new double[] { -1, 0, 1 },
  new double[] { -2, -1, 0 }
 };
 if (isSymmetric(matrix2)) { Console.WriteLine("matrix2 是對(duì)稱矩陣"); }
 else { Console.WriteLine("matrix2 不是對(duì)稱矩陣"); }
 if (isSkewSymmetric(matrix2)) { Console.WriteLine("matrix2 是反稱矩陣"); }
 else { Console.WriteLine("matrix2 不是反稱矩陣"); }
 //測(cè)試矩陣3:matrix3
 double[][] matrix3 = new double[][] 
 {
  new double[] { 1, 2, 3 },
  new double[] { 4, 5, 6 },
  new double[] { 7, 8, 9 }
 };
 if (isSymmetric(matrix3)) { Console.WriteLine("matrix3 是對(duì)稱矩陣"); }
 else { Console.WriteLine("matrix3 不是對(duì)稱矩陣"); }
 if (isSkewSymmetric(matrix3)) { Console.WriteLine("matrix3 是反稱矩陣"); }
 else { Console.WriteLine("matrix3 不是反稱矩陣"); }
 Console.ReadLine();
}

2)示例運(yùn)行結(jié)果

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

相關(guān)文章

  • C# 枚舉的使用簡(jiǎn)介

    C# 枚舉的使用簡(jiǎn)介

    這篇文章主要介紹了C# 枚舉的簡(jiǎn)單使用,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#基本打印事件用法實(shí)例

    C#基本打印事件用法實(shí)例

    這篇文章主要介紹了C#基本打印事件用法,實(shí)例分析了C#中print打印及DrawString文本字符串繪制等相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C# Chart繪制簡(jiǎn)單圖形波形

    C# Chart繪制簡(jiǎn)單圖形波形

    這篇文章主要為大家詳細(xì)介紹了C# Chart繪制簡(jiǎn)單圖形波形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • c#中directory 和directoryinfo的使用小結(jié)

    c#中directory 和directoryinfo的使用小結(jié)

    當(dāng)使用C#處理目錄時(shí),可以使用?System.IO?命名空間中的?Directory?和?DirectoryInfo?類來(lái)執(zhí)行各種目錄操作,本文主要介紹了c#中directory 和directoryinfo的使用小結(jié),感興趣的可以了解一下
    2024-02-02
  • C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘和日歷

    C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘和日歷

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)動(dòng)態(tài)數(shù)字時(shí)鐘和日歷的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C#如何利用結(jié)構(gòu)體對(duì)固定格式數(shù)據(jù)進(jìn)行解析

    C#如何利用結(jié)構(gòu)體對(duì)固定格式數(shù)據(jù)進(jìn)行解析

    這篇文章主要為大家詳細(xì)介紹了C#利用結(jié)構(gòu)體對(duì)固定格式數(shù)據(jù)進(jìn)行解析,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C#獲取數(shù)組中最大最小值的方法

    C#獲取數(shù)組中最大最小值的方法

    這篇文章主要介紹了C#獲取數(shù)組中最大最小值的方法,本文直接給出實(shí)例代碼,需要的朋友可以參考下
    2015-06-06
  • C# Color.FromArgb()及系統(tǒng)顏色對(duì)照表一覽

    C# Color.FromArgb()及系統(tǒng)顏色對(duì)照表一覽

    這篇文章主要介紹了C# Color.FromArgb()及系統(tǒng)顏色對(duì)照表一覽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • C#判斷字符串中是否包含指定字符串及contains與indexof方法效率問(wèn)題

    C#判斷字符串中是否包含指定字符串及contains與indexof方法效率問(wèn)題

    這篇文章主要介紹了C#判斷字符串中是否包含指定字符串及contains與indexof方法效率問(wèn)題 ,文中給大家列舉通過(guò)兩種方法來(lái)判斷,需要的朋友可以參考下
    2018-10-10
  • C#中的委托和事件

    C#中的委托和事件

    這篇文章介紹了C#中的委托和事件,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

城步| 淮滨县| 江西省| 文山县| 武城县| 通化县| 亳州市| 扶沟县| 栾川县| 保山市| 博乐市| 龙泉市| 静乐县| 巨鹿县| 马公市| 维西| 乡宁县| 乌鲁木齐市| 兴城市| 正宁县| 吉首市| 高尔夫| 巴楚县| 丹阳市| 嘉峪关市| 新闻| 淮阳县| 呼图壁县| 区。| 九龙坡区| 兰考县| 商洛市| 岳西县| 聂荣县| 江阴市| 宾阳县| 民乐县| 昆山市| 上饶市| 桃园县| 中山市|