一个简单的问题..
假设在 Matlab 中我们有一个变量:numEntries = 8
我知道“ones”用于创建“1 的矩阵”,但以下结果是什么?
W = ones(1:numEntries);
而且,如果可能的话,我在哪里可以找到关于 Matlab 中矩阵的良好参考?我查看了官方文档,但对我来说不是很清楚。
非常感谢你
ones
创建一个矩阵。ones
适用于任意数量的维度,但是如果您只指定一个参数,您将得到一个具有该大小的方阵。否则,您将得到一个 1N
维矩阵,N
即您提供给 的参数的数量ones
。
如果numEntries
是 8,则1:numEntries
创建一个 1x8 向量1 2 3 4 5 6 7 8
。这个向量作为 的输入ones
,你会得到一个 8 维矩阵,其中第 1 维(垂直)的大小为 1,第 2 维(水平)的大小为 2,第 3 维的大小为3,依此类推,直到第 8 维,其大小为 8。
numEntries = 8;
W = ones(1:numEntries);
% 检查每个维度的大小W
:
size(W)
ans =
1 2 3 4 5 6 7 8
% 计算 中的元素总数W
:
prod(size(W))
ans =
40320
%编辑:要获得 中的元素数量W
,numel(W)
比prod(size(W))
:
numel(W)
ans =
40320
这是一个 ND(N
维)数组,其中N = numEntries
.
更具体地说,它是一个大小1 x 2 x ... x N
为全 1 的 ND 数组。