matlab元胞数组内部怎么做运算?我有一个元胞数组x(100,1),里面的100个数组都为5行5列的矩阵,我想把这100个矩阵相加,

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 22:27:27
matlab元胞数组内部怎么做运算?我有一个元胞数组x(100,1),里面的100个数组都为5行5列的矩阵,我想把这100个矩阵相加,
xU[OA+>6lg/n&/-]ImK, --X1ً)c=93wfgpv4Y)-N ^̡[3U[ ;+]\ZōE5cEw~Ȝ`[8[my[AwReΫZfؕˎrXr4 ';?RAj\>]n-:'_'}E+Ui69zQAGv6'2"0(#DNF5qvrGɘߟֻ+7if~J3)*4üzR7tOx*,i*nn\Syjzy ~{ѣwY4`nXL0u<3>⪌9̪*S*+IDIQ(U@ ,|  <V (O ,%/NO";P9Vy !-<׷ ~(WIx@rD^v<!ABZ$ *7C^k6IG]uvY¥|\ѮueTtjPDnj}6f:gIG}y[$h13'\9

matlab元胞数组内部怎么做运算?我有一个元胞数组x(100,1),里面的100个数组都为5行5列的矩阵,我想把这100个矩阵相加,
matlab元胞数组内部怎么做运算?
我有一个元胞数组x(100,1),里面的100个数组都为5行5列的矩阵,我想把这100个矩阵相加,

matlab元胞数组内部怎么做运算?我有一个元胞数组x(100,1),里面的100个数组都为5行5列的矩阵,我想把这100个矩阵相加,

先用cat命令把cell数组拼接为三维数组,然后沿第3维求和即可:

sum(cat(3,x{:}),3)

 

示例:

>> for i=1:100,x(i,1)={rand(5,5)};end
>> whos
  Name      Size                   Bytes  Class
  ans       5x5                      200  double array
  i         1x1                        8  double array
  x       100x1                    26000  cell array
Grand total is 2626 elements using 26208 bytes
>> sum(cat(3,x{:}),3)
ans =
   47.9197   49.7069   49.4688   48.7908   49.0307
   47.0792   50.9339   53.1208   52.5602   49.8037
   52.8301   53.0407   51.9221   52.8539   53.3921
   49.0305   50.9685   52.2504   51.3221   44.0397
   47.2022   50.6585   49.9662   50.1173   51.2624

第一句用于生成测试数据,第二句查看变量情况,你需要的只是第三句.