首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab:用迭代法连续减去单个矩阵中的行

Matlab:用迭代法连续减去单个矩阵中的行
EN

Stack Overflow用户
提问于 2011-11-05 08:14:17
回答 1查看 1.2K关注 0票数 0

让我们假设有一个矩阵mXn。例如: a=2 9;57;8 25;1 6;3 9。

我想知道如何从第二行中减去第一行,依此类推,直到两行之间的差值为1为止。

下一步,从第三行中减去第一行,依此类推,其中差值为2。

在每次循环之后,保存新矩阵的输出,新矩阵的名称与循环对应,例如,for difference1名称可以是newMatDif_1,依此类推。

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-05 09:11:16

您的命名方案在MATLAB中并不是真正可行或有用的,所以我使用了一个三维数组来保存差异。这个操作的关键是旋转数组的行,我已经为它定义了一个函数:

代码语言:javascript
运行
复制
rotate_rows = @(A, n) ( [ A((n+1):end,:); A(1:n,:)]);

for r = 1:rows(A)-1
    diffs(:,:,r) = a - rotate_rows(a,r);
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8017190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档