Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中cellfun输出的元素矩阵加法_Matlab_Matrix - Fatal编程技术网

Matlab中cellfun输出的元素矩阵加法

Matlab中cellfun输出的元素矩阵加法,matlab,matrix,Matlab,Matrix,我有一个输出6×6矩阵的函数d2l_dgamma_dgammaT。我想在这些矩阵上执行元素加法,而不使用下面的for循环。_gamma_temp是包含6x6矩阵的单元数组,而_gamma应该是包含所有这些矩阵的元素和的单个6x6矩阵。我该怎么做 A_gamma_temp = cellfun(@(a,b) d2l_dgamma_dgammaT(sigma_sq, tau_sq, a, b), ... wb_sorted, zb_sorted, 'uniformoutput', false)

我有一个输出6×6矩阵的函数
d2l_dgamma_dgammaT
。我想在这些矩阵上执行元素加法,而不使用下面的for循环。_gamma_temp是包含6x6矩阵的单元数组,而_gamma应该是包含所有这些矩阵的元素和的单个6x6矩阵。我该怎么做

A_gamma_temp = cellfun(@(a,b) d2l_dgamma_dgammaT(sigma_sq, tau_sq, a, b), ...
    wb_sorted, zb_sorted, 'uniformoutput', false);

A_gamma = zeros(6,6);

for ii = 1:size(A_gamma_temp, 1)
    A_gamma = A_gamma + A_gamma_temp{ii};
end

假设
A_gamma_temp
是一个包含6×6矩阵的单元数组,并且
A_gamma
应该是一个6×6矩阵,它是所有这些单独矩阵的总和,这应该可以工作:

A_gamma = sum(cat(3, A_gamma_temp{:}),3)
作为将来的参考,如果你

  • 提供
  • 以我们不必进行猜测和假设的方式制定您所需的输入/输出

记住,我们不知道你想做什么,或者你已经做了什么。如果你花更多的时间来阐述你的问题,你就更有可能得到一个好答案,也会更快。

如果你想得到一个单一的数字结果,你也可以试试这个-

A_gamma = sum(vertcat(A_gamma_temp{:}))

因为OP有这个-
A_gamma=0(6,6),我不确定是否需要单个数字。

伽马温度是大小为6x6或6x1的单元阵列?