【发布时间】:2015-03-12 01:08:33
【问题描述】:
我正在编写一个对矩阵进行操作的脚本,我遇到了需要将前一个矩阵的对角线之和添加到新矩阵的对角线元素的问题。到目前为止,我对这个特定功能的代码(下面更详细地描述)是:
t = 1;
for k = (m-1):-1:-(m-1)
C = bsxfun(@plus, diag(B, k), d);
g(t) = sum(diag(B, k));
t = t + 1;
end
其中 d 是一个 1x3 数组,而 C 应该是一个 3x3 数组;但是,C 以 1x3 数组的形式输出,其中第一个对角线被求和并添加到 d,然后主对角线被求和并添加到 d,最后一个对角线被求和并添加到 d。
有没有一种方法可以让 C 的值使得第一个对角线是添加到 d 的最后一个元素的各个元素的总和,以及添加到 d 的中间元素的主对角线的各个元素的总和,并且底部对角线的元素添加到 d 的第一个元素? (同时仍然适用于任何数组大小?)
这是一张描述我想要实现的目标的图片:
谢谢!
【问题讨论】:
-
您可以编辑您的帖子以包含显示您想要的数字示例吗?我无法从你的问题中弄清楚你想做什么
-
没问题!刚刚添加了一个带有我正在尝试做的图片的 imgur 链接。
-
如果
B是3x3,那么d不应该是1x5吗? -
有趣的问题!并且描述得很好