求一个3*3矩阵对角线元素之和

简介: 求一个3*3矩阵对角线元素之和

C语言实现


方法一:直接访问对角线元素


c复制代码
 #include <stdio.h>  
 
   
 
 int main() {  
 
     int matrix[3][3] = {  
 
         {1, 2, 3},  
 
         {4, 5, 6},  
 
         {7, 8, 9}  
 
     };  
 
     int sum = 0;  
 
   
 
     // 遍历对角线元素  
 
     for(int i = 0; i < 3; i++) {  
 
         sum += matrix[i][i]; // 加上主对角线上的元素  
 
     }  
 
   
 
     printf("Diagonal sum is: %d\n", sum);  
 
   
 
     return 0;  
 
 }



方法二:使用函数封装


c复制代码
 #include <stdio.h>  
 
   
 
 // 定义一个函数来计算3x3矩阵对角线元素之和  
 
 int diagonalSum(int matrix[3][3]) {  
 
     int sum = 0;  
 
     for(int i = 0; i < 3; i++) {  
 
         sum += matrix[i][i];  
 
     }  
 
     return sum;  
 
 }  
 
   
 
 int main() {  
 
     int matrix[3][3] = {  
 
         {1, 2, 3},  
 
         {4, 5, 6},  
 
         {7, 8, 9}  
 
     };  
 
   
 
     printf("Diagonal sum is: %d\n", diagonalSum(matrix));  
 
   
 
     return 0;  
 
 }


Python实现

方法一:直接访问对角线元素


python复制代码
 def diagonal_sum(matrix):  
 
     return sum(matrix[i][i] for i in range(len(matrix)))  
 
   
 
 # 示例矩阵  
 
 matrix = [  
 
     [1, 2, 3],  
 
     [4, 5, 6],  
 
     [7, 8, 9]  
 
 ]  
 
   
 
 print("Diagonal sum is:", diagonal_sum(matrix))



方法二:使用NumPy库(虽然这不是纯Python的方法,但非常高效)

如果你在处理大型矩阵或需要矩阵运算的库,NumPy是一个很好的选择。


python复制代码
 import numpy as np  
 
   
 
 # 使用NumPy创建矩阵  
 
 matrix = np.array([  
 
     [1, 2, 3],  
 
     [4, 5, 6],  
 
     [7, 8, 9]  
 
 ])  
 
   
 
 # 使用NumPy的trace函数计算对角线之和  
 
 print("Diagonal sum is:", np.trace(matrix))


注意:NumPy方法对于处理大型数据集或需要执行复杂矩阵运算的场景特别有用。对于简单的3x3矩阵,直接使用Python列表和循环(如方法一)可能就足够了。

image.png


相关文章
|
1月前
|
机器学习/深度学习 人工智能
求一个3*3矩阵对角线元素之和
求一个3*3矩阵对角线元素之和。
25 14
|
6月前
47.从键盘上输入一个3*3的矩阵,并求其主对角线元素的和
47.从键盘上输入一个3*3的矩阵,并求其主对角线元素的和
58 0
|
6月前
|
机器学习/深度学习 存储 人工智能
利用前缀和计算二维矩阵子矩阵的和
利用前缀和计算二维矩阵子矩阵的和
68 0
第3章 数组与矩阵——3.3 矩阵元素的运算(1)
第3章 数组与矩阵——3.3 矩阵元素的运算(1)
第3章 数组与矩阵——3.3 矩阵元素的运算(2)
第3章 数组与矩阵——3.3 矩阵元素的运算(2)
|
网络架构 Python
矩阵各行元素之和
矩阵各行元素之和
94 0
R7-5 求矩阵各行元素之和
R7-5 求矩阵各行元素之和
105 0
|
人工智能 Java 算法框架/工具
二维前缀和数组&二维差分数组
二维差分数组div中的每一个格子记录的是「以当前位置为区域的左上角(区域右下角恒定为原数组的右下角)的值的变化量」【应该不固定 可以倒转】
362 0
二维前缀和数组&二维差分数组
|
Python
LeetCode 1572. 矩阵对角线元素的和
给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。
116 0
LeetCode 1329. 将矩阵按对角线排序
矩阵对角线 是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线,沿右下方向一直到矩阵末尾的元素。
111 0