在matlab中制作一个Matrix元素等于行号乘以列号
Making a Matrix element equals the row number times the column number in matlab
我想声明一个函数,它将 (n, m) 作为输入,return mt 作为 n×m 矩阵。如果我假设行号 (rn) 和列号 (cn)
我想要mt矩阵的给定元素=行号(rn)*列号(cn)
function [mt, s] = mtable(n, m)
mt = rand(n, m);
rn = (1:n);
cn = (1:m);
mt(rn, cn) = rn*cn;
s = sum(mt);
end
你可以简单地做
mt = [1:n].'*[1:m]
实现你想要的矩阵。否则,您发布的示例代码中存在一些语法问题。
您可以通过 cn
的简单缩放和 rn
的总和直接计算 s
,因此不会像这样被 mt
打扰 -
function s = mtable(n, m)
rn = (1:n);
cn = (1:m);
s = cn*sum(rn)
end
如果你确实也需要mt,你可以使用bsxfun
-
mt = bsxfun(@times,rn',cn)
我想声明一个函数,它将 (n, m) 作为输入,return mt 作为 n×m 矩阵。如果我假设行号 (rn) 和列号 (cn) 我想要mt矩阵的给定元素=行号(rn)*列号(cn)
function [mt, s] = mtable(n, m)
mt = rand(n, m);
rn = (1:n);
cn = (1:m);
mt(rn, cn) = rn*cn;
s = sum(mt);
end
你可以简单地做
mt = [1:n].'*[1:m]
实现你想要的矩阵。否则,您发布的示例代码中存在一些语法问题。
您可以通过 cn
的简单缩放和 rn
的总和直接计算 s
,因此不会像这样被 mt
打扰 -
function s = mtable(n, m)
rn = (1:n);
cn = (1:m);
s = cn*sum(rn)
end
如果你确实也需要mt,你可以使用bsxfun
-
mt = bsxfun(@times,rn',cn)