如何从循环中的单元格数组元素中减去矩阵?

时间:2016-11-09 16:52:24

标签: arrays matlab loops cell

我创建了一个尺寸为1x10的单元格数组,名为A.每个元素包含一个100x5矩阵。因此,我有10个矩阵100x5。但是,我想将单元格数组的每个矩阵放入循环中。如果B是100x5矩阵,C是100x1向量而c是常量,则循环应如下所示:

 for t=1:100;   
    j=1:5;   
        x=c*inv((B(t,j)-A(t,j))*((B(t,j)-A(t,j))')*(A(t,j)-C(t,1)*ones(1,5));   
    end;   
 end;

最后x应该提供一个1x10的单元阵列,其中包含10个矩阵元素100x5。

我将不胜感激任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您就会问如何访问单元格数组。让ipywidgets.interact索引单元格数组。然后,您可以通过调用i来访问单元阵列的i条目。然后你的代码是:

A{i}

您可能想要考虑一下您的问题以及是否可以通过以矩阵表示法编写来消除两个中间for循环。它看起来类似于最小二乘估计,它是for i=1:10 for t=1:100 j=1:5 x{i}=c*inv((B(t,j)-A{i}(t,j))*((B(t,j)-A{i}(t,j))')*(A{i}(t,j)-C(t,1)*ones(1,5)); end end end ,但是逐个元素的反转使我失望。