精华内容
下载资源
问答
  • matlab中sum对矩阵求和以及size用法

    千次阅读 2019-05-31 16:14:59
    matlab中sum对矩阵求和 设M为一个矩阵,那么: sum(M)是以矩阵M的每一列为对象,对每一列的数据分别求和。 sum(M,2)是以矩阵的每一行为对象,对每一行的数据分别求和。 sum(M(:))是将矩阵中的所有元素相加...

    matlab中sum对矩阵求和

    设M为一个矩阵,那么:
    sum(M)是以矩阵M的每一列为对象,对每一列的数据分别求和。
    sum(M,2)是以矩阵的每一行为对象,对每一行的数据分别求和。
    sum(M(:))是将矩阵中的所有元素相加求和。
    M(:,1)是求矩阵的第一列
    M(1,:)是求矩阵的第一行
    如果M= [1, 2 ,3 ,4, 5;
    1, 2, 3, 4, 5];
    a=sum(M) 表示对整个矩阵按求和

    a= [2 4 6 8 10]

    sum(M(1:t,:),1) 表示对矩阵前1到t行求和

    b=sum(M,2) 表示对整个矩阵按求和

    b=[15;15];

    d=sum(M(:,1:3),2) 表示对矩阵前1到3列求和

    d = [6;6]

    c=sum(M(: )) 表示整个矩阵整体求和

    c =30

    size用法

    size():获取矩阵的行数和列数

    (1)s=size(A),

         当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。
    

    (2)[r,c]=size(A),

         当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。
    

    (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。

    Matlab中size和length函数的区别:

    length是求某一矩阵所有维的最大长度。如:x是一维向量,那么length(x)就是求向量的长度;但size(x)仍然输出行列数。
    另外,如果参数变量x是向量,则返回其长度;如果参数变量是非空矩阵则length()=max(size()).

    在这里插入图片描述
    在这里插入图片描述
    size()是求矩阵各维的长度,例如:size(x,2)代表求矩阵x第2维长度, 即第二行中的列数:
    在这里插入图片描述

    https://blog.csdn.net/qq_36652619/article/details/83380474
    https://blog.csdn.net/xueluowutong/article/details/85059285

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此...想每j列进行对应项求和相加,整了一上午都……谢谢大家!B(:,:,1,1)=1.0e+010*9.69302.1590-4.08422.15902.2769-1.7028-4.0842-1.70283.0083B(:,:,2,1)=1.0e+010*9.69...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    4-D矩阵:B(:,:,i,j)

    具体形式如下!

    想对每j列进行对应项求和相加,

    整了一上午都……

    谢谢大家!

    B(:,:,1,1) =

    1.0e+010 *

    9.6930    2.1590   -4.0842

    2.1590    2.2769   -1.7028

    -4.0842   -1.7028    3.0083

    B(:,:,2,1) =

    1.0e+010 *

    9.6930    2.1590    4.0842

    2.1590    2.2769    1.7028

    4.0842    1.7028    3.0083

    B(:,:,3,1) =

    1.0e+010 *

    9.6930    2.1590   -4.0842

    2.1590    2.2769   -1.7028

    -4.0842   -1.7028    3.0083

    B(:,:,4,1) =

    1.0e+010 *

    9.6930    2.1590    4.0842

    2.1590    2.2769    1.7028

    4.0842    1.7028    3.0083

    B(:,:,5,1) =

    1.0e+010 *

    9.6930    2.1590   -4.0842

    2.1590    2.2769   -1.7028

    -4.0842   -1.7028    3.0083

    B(:,:,6,1) =

    1.0e+010 *

    9.6930    2.1590    4.0842

    2.1590    2.2769    1.7028

    4.0842    1.7028    3.0083

    B(:,:,7,1) =

    1.0e+010 *

    9.6930    2.1590   -4.0842

    2.1590    2.2769   -1.7028

    -4.0842   -1.7028    3.0083

    B(:,:,8,1) =

    1.0e+010 *

    9.6930    2.1590    4.0842

    2.1590    2.2769    1.7028

    4.0842    1.7028    3.0083

    B(:,:,1,2) =

    1.0e+011 *

    1.1729    0.1492   -0.3622

    0.1492    0.1575   -0.1011

    -0.3622   -0.1011    0.2341

    B(:,:,2,2) =

    1.0e+011 *

    1.1729    0.1492    0.3622

    0.1492    0.1575    0.1011

    0.3622    0.1011    0.2341

    B(:,:,3,2) =

    1.0e+011 *

    1.1729    0.1492   -0.3622

    0.1492    0.1575   -0.1011

    -0.3622   -0.1011    0.2341

    B(:,:,4,2) =

    1.0e+011 *

    1.1729    0.1492    0.3622

    0.1492    0.1575    0.1011

    0.3622    0.1011    0.2341

    B(:,:,5,2) =

    1.0e+011 *

    1.1729    0.1492   -0.3622

    0.1492    0.1575   -0.1011

    -0.3622   -0.1011    0.2341

    B(:,:,6,2) =

    1.0e+011 *

    1.1729    0.1492    0.3622

    0.1492    0.1575    0.1011

    0.3622    0.1011    0.2341

    B(:,:,7,2) =

    1.0e+011 *

    1.1729    0.1492   -0.3622

    0.1492    0.1575   -0.1011

    -0.3622   -0.1011    0.2341

    B(:,:,8,2) =

    1.0e+011 *

    1.1729    0.1492    0.3622

    0.1492    0.1575    0.1011

    0.3622    0.1011    0.2341

    展开全文
  • 矩阵求和

    2018-03-30 20:02:00
    第一次做时理解错了题意,只算了中间角线构成的十字形,题目真正的意思是由边abcd的中点依次连接组成的矩形所包含的所有点的值的和。 可以将这个矩形看成被一个十字形分成了四个象限,然后分别求出四个象限的和,...

     

     第一次做时理解错了题意,只算了中间对角线构成的十字形,题目真正的意思是由边abcd的中点依次连接组成的矩形所包含的所有点的值的和。

    可以将这个矩形看成被一个十字形分成了四个象限,然后分别求出四个象限的和,加在一起后十字形被加了两次,中间十字焦点被加了四次,则我们减掉一次十字形,两次焦点即为总面积。

     

     AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int a[110][110];
     5 
     6 int main(){
     7     int cnt=1;
     8     for(int i=1;i<=101;i++){
     9         for(int j=1;j<=101;j++){
    10             a[i][j]=cnt++;
    11         }
    12     }
    13     /*for(int i=1;i<=101;i++){
    14         for(int j=1;j<=101;j++){
    15             cout<<a[i][j]<<" ";
    16         }cout<<endl;
    17     }*/
    18     cnt=0;
    19     int sum=0;
    20     for(int i=1;i<=101;i++){
    21         sum+=a[i][51];
    22         sum+=a[51][i];
    23     }
    24     for(int i=1;i<=51;i++){
    25         for(int j=51;j>51-i;j--){
    26             cnt+=a[i][j];
    27         }
    28     }
    29     for(int i=1;i<=51;i++){
    30         for(int j=51;j<51+i;j++){
    31             cnt+=a[i][j]; 
    32         }
    33     }
    34     for(int i=51;i<=101;i++){
    35         for(int j=51;j>i-51;j--){
    36             cnt+=a[i][j];
    37         }    
    38     }
    39     for(int i=51;i<=101;i++){
    40         for(int j=51;j<=152-i;j++){
    41             cnt+=a[i][j];
    42         }
    43     }
    44     cnt-=sum;
    45     cnt-=a[51][51];
    46     cout<<cnt<<endl;
    47     return 0;
    48 }

     

    转载于:https://www.cnblogs.com/Kiven5197/p/8678280.html

    展开全文
  • 列表中的矩阵求和

    2018-11-02 17:13:11
    假设我们有一个由矩阵元素构成的列表,如何非常简便地计算列表中所有矩阵的均值? 首先生成两个矩阵: A = matrix(1:9, 3, 3) A  [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 B = matrix(1, 3, 3) B [,1]...

    假设我们有一个由矩阵元素构成的列表,如何非常简便地计算列表中所有矩阵的均值?

    首先生成两个矩阵:

    A = matrix(1:9, 3, 3)
    A
         [,1] [,2] [,3]
    [1,]    1    4    7
    [2,]    2    5    8
    [3,]    3    6    9
    B = matrix(1, 3, 3)
    B
         [,1] [,2] [,3]
    [1,]    1    1    1
    [2,]    1    1    1
    [3,]    1    1    1

    然后将他们组成一个list,达到我们前提要求:

    my.list = list(A, B)
    my.list
    [[1]]
         [,1] [,2] [,3]
    [1,]    1    4    7
    [2,]    2    5    8
    [3,]    3    6    9
    
    [[2]]
         [,1] [,2] [,3]
    [1,]    1    1    1
    [2,]    1    1    1
    [3,]    1    1    1
    Reduce("+", my.list) / length(my.list)
         [,1] [,2] [,3]
    [1,]  1.0  2.5  4.0
    [2,]  1.5  3.0  4.5
    [3,]  2.0  3.5  5.0

    最后直接对列表使用Reduce("+", my.list) / length(my.list),就可以得到列表中所有矩阵的平均了。

    还有第二种方案,就是使用array将list转为3D的array,具体如下:

    ll <- replicate( 3 , matrix( sample(5,16,repl=TRUE) , 4 ) , simplify = FALSE )

    先随机生成3个4*4的矩阵,然后将其转化为3D的array,如下:

    arr <- array( unlist(ll) , c(4,4,3) )
    arr
    , , 1
    
         [,1] [,2] [,3] [,4]
    [1,]    5    3    5    5
    [2,]    2    3    4    3
    [3,]    3    3    5    1
    [4,]    1    4    4    3
    
    , , 2
    
         [,1] [,2] [,3] [,4]
    [1,]    4    1    4    5
    [2,]    2    4    4    5
    [3,]    2    4    2    1
    [4,]    1    4    4    4
    
    , , 3
    
         [,1] [,2] [,3] [,4]
    [1,]    4    4    1    2
    [2,]    4    2    2    4
    [3,]    5    4    4    5
    [4,]    1    2    1    2

    最后在第三个维度上求平均,也就是对三个矩阵求平均:

    apply( arr , 1:2 , mean )
             [,1]     [,2]     [,3]     [,4]
    [1,] 4.333333 2.666667 3.333333 4.000000
    [2,] 2.666667 3.000000 3.333333 4.000000
    [3,] 3.333333 3.666667 3.666667 2.333333
    [4,] 1.000000 3.333333 3.000000 3.000000

    或者使用rowMeans。

    rowMeans( arr , dims = 2 )
             [,1]     [,2]     [,3]     [,4]
    [1,] 4.333333 2.666667 3.333333 4.000000
    [2,] 2.666667 3.000000 3.333333 4.000000
    [3,] 3.333333 3.666667 3.666667 2.333333
    [4,] 1.000000 3.333333 3.000000 3.000000

     

    展开全文
  • matlab中的矩阵求和

    千次阅读 2019-10-24 09:00:10
    %输入矩阵A sum_column=sum(A) %对矩阵中各列求和 sum_row=sum(A,2) %对矩阵中的各行求和 sum_all=sum(sum(A)) %对矩阵中所有元素求和
  • 矩阵对求和

    2021-01-07 10:03:54
    矩阵对求和 题目描述 求一个n×n矩阵对角线元素之和,其中1≤n<100,矩阵元素都小于10000。 输入 第一行是一个正整数n。 然后是n行,每行对应矩阵的每行,元素间用空格隔开。 输出 第一行为主角线元素和,第...
  • acm~矩阵求和

    2014-06-10 16:17:54
    /*烟台大学计算机学院学生 *All right reserved. *文件名称:acm~矩阵求和 ...*任务及求解方法的描述部分:acm~矩阵求和 *我的程序:*/ #include using namespace std; class Matrix { public: Matrix();
  • matlab 矩阵求和计算

    千次阅读 2012-11-10 12:50:40
    a=sum(A) %列求和b=sum(A,2) %行求和c=sum(A(:)) %矩阵求和 假定A为一个矩阵:   sum(A)以矩阵A的每一列为对象,一列内的数字求和。   sum(A,2)以矩阵A的每一行为对象,一行内的数字求和。   a(:,1.....
  • sum 矩阵求和 matlab

    千次阅读 2012-03-19 14:24:13
    matlab中针对的数据大多是以矩阵形式来处理...c=sum(A(:)) %矩阵求和 假定A为一个矩阵:   sum(A)以矩阵A的每一列为对象,一列内的数字求和。   sum(A,2)以矩阵A的每一行为对象,一行内的数字求和。   a
  • MATLAB中矩阵求和的方法

    千次阅读 2019-08-09 17:06:53
    在使用MATLAB做作业的时候,遇到一个问题,不知道怎么写对矩阵A进行求和的代码比较优雅, 我记得以前写过,不过不是很记得了,后来想了一下,又想起来了,于是就在这里记录一下~ 2MATLAB中矩阵求和的方法 我们再...
  • C++实验6-矩阵求和

    2016-05-19 09:09:19
    * 文件名称:矩阵求和 * 作 者:马乐 * 完成日期: 2016 年 5 月 19 日 * 版 本 号:v1.0 * 任务及求解方法的描述部分:数组求和方法 * 输入描述: 输入9个数 * 问题描述: 用数组求和来编程 * 程序输出: ...
  • c++实验6-矩阵求和

    2016-05-25 00:10:34
    * 文件名称: 矩阵求和.cpp * 作 者:卢祖文 * 完成日期:2016 年 05 月 24日 * 版 本 号:v1.0 * 任务及求解方法的描述部分: * 输入描述: 输入一个三阶矩阵 * 问题描述:求和 * 程序输出:略 * 问题分析:...
  • C++实验6——矩阵求和

    2016-05-22 19:47:42
    * 文件名称:矩阵求和 * 作 者:刘春梅 * 完成日期: 2016 年 5 月 19 日 * 版 本 号:v1.0 * 任务及求解方法的描述部分: * 输入描述: * 问题描述: * 程序输出:矩阵角线元素的和 * 问题分析: * 算法...
  • nxn矩阵求和角线)

    千次阅读 2017-01-07 16:54:47
    #include #define N 30 int main() {  int i,j,a[N][N],n,s1=0,s2=0;  scanf("%d",&n);  for(i=0; i  for(j=0; j  scanf("%d",&a[i][j]);  for(i=0; i  s1=s1+a[i]
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此...想每j列进行对应项求和相加,整了一上午都……谢谢大家!B(:,:,1,1)=1.0e+010*9.69302.1590-4.08422.15902.2769-1.7028-4.0842-1.70283.0083B(:,:,2,1)=1.0e+010*9.69...
  • c++实验6—矩阵求和

    2016-05-19 10:31:07
    * 文件名称: 矩阵求和 * 作 者: 刘诗雨 * 完成日期: 2016 年 05 月 19 日 * 版 本 号:v1.0 * 任务及求解方法的描述部分:略 * 输入描述:略 * 问题描述: 输入九个数,求角线的和 * 程序输出: 略 * 问题...
  • DTOJ 4858. 矩阵求和

    2020-06-23 07:35:08
    3、求一个子矩阵的做k次前缀和之后的和,109+710^9+7109+7取模 对于100%的数据,保证1⩽n,m,q⩽105,0⩽k⩽101\leqslant n,m,q\leqslant 10^5,0\leqslant k\leqslant 101⩽n,m,q⩽105,0⩽k⩽10 测试点 n,m,q
  • matlab中sum函数对矩阵求和总结

    万次阅读 多人点赞 2015-10-01 20:21:14
    matlab中sum函数对矩阵求和总结   A= [1, 2 ,3 ,4, 5; 1, 2, 3, 4, 5]; a=sum(A) %对整个矩阵按列求和 >>a= [2 4 6 8 10] sum(A(1:t,:),1) %对矩阵前1到t行按列求和 b=sum(A,2) %对整个矩阵...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,015
精华内容 406
关键字:

对矩阵求和