Matlab:通过迭代方法连续减去单个矩阵中的行
让我们假设有一个矩阵 [mXn]。例如:a=[2 9; 5 7; 8 25; 1 6; 3 9]。
我想知道如何从第二行减去第一行,依此类推,直到最后,两行之间的差为 1。
接下来,从第三行减去第一行,依此类推,差为 2。
每次循环后保存输出具有与循环相关的名称的新矩阵的名称可以是 newMatDif_1 等。
diff1----5-2 7-9; 8-2 25-9; .......newMatDiff_1
diff2----8-2 25-9; 3-8 9-25;.......newMatDiff_2
diff3----1-2 6-9; .......newMatDiff_3
Let us assume there is a matrix [mXn]. for example: a=[2 9; 5 7; 8 25; 1 6; 3 9].
I would like to know how to subtract 1st row from 2nd row and so on till end where the difference between two row is 1.
Next subtract first row from 3rd row and so on where the difference is 2.
And after each loop save the output of the new matrix with a name respective to the loop say for difference1 name may be as newMatDif_1 and so one.
diff1----5-2 7-9; 8-2 25-9; .......newMatDiff_1
diff2----8-2 25-9; 3-8 9-25;.......newMatDiff_2
diff3----1-2 6-9; .......newMatDiff_3
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的命名方案在 MATLAB 中并不是真正可行或有用,因此我使用了 3 维数组来保存差异。此操作的关键是旋转数组的行,我为此定义了一个函数:
Your naming scheme is not really feasible or useful in MATLAB, so I've used a 3-dimensional array to hold the differences. The key to this operation is rotating the rows of the array, for which I've defined a function: