【发布时间】:2015-09-25 07:04:44
【问题描述】:
我有以下元胞数组:
<20x2>
<32x2>
<28x2>
<30x2>
我想要做的是读入<20x2> 的单元格数组的row 1,一旦我进入<20x2>,我只想将以下函数应用于第一列。
在第一个中,我希望 C{1,1} 中的每一行 column 1 都减去 0.1。在第二个C{2,1} (<32x2>) 中,我希望第 1 列的每一行都减去 0.2,依此类推...
所以为了澄清,我试图从n= row number of the cell array 的单元格数组中每个子矩阵的第一列中减去n*0.1。因此,如果row 8 的元胞数组中有一个部分,则column 1 将减去8*0.1 = 0.8
我希望这个问题足够清楚,我已经尽力把它说清楚了。
提前感谢您的任何帮助/建议
尝试
First = C{1,1}(:,1);
Subtraction = First - 0.1
给我我想要的结果,但仅适用于我的单元格数组的第 1 行。
Applying function to vectors row by row 的唯一问题,因为这涉及单元格数组而不是矩阵。读取单元格数组的方面使其成为问题的不同变体,因此如果有人遇到与此问题类似的问题,则提到的“重复”问题将无济于事,尤其是像我这样的 MATLAB 知识很少
【问题讨论】:
-
你有没有尝试过?也许使用循环?
-
如果我只有一个 nx2 矩阵但难以读入 n 变化的元胞数组,我可以按照我的要求进行操作
-
您需要发布一些代码以表明您已经尝试自己解决它...为什么您可以直接转到
...-n*0.1;...,其中n是您的for-loop 变量?跨度> -
不包括我的尝试,因为这是一项非常可悲的努力。我以为我需要一个循环。 1. 我不知道如何应用循环和 2. 我真的不知道如何调用 n 正在改变所以 matlab 读取我的整个文件
-
不,这是不同的最终目标 :)
标签: arrays matlab function cell-array