2

一个简单的问题..

假设在 Matlab 中我们有一个变量:numEntries = 8

我知道“ones”用于创建“1 的矩阵”,但以下结果是什么?

W = ones(1:numEntries);

而且,如果可能的话,我在哪里可以找到关于 Matlab 中矩阵的良好参考?我查看了官方文档,但对我来说不是很清楚。

非常感谢你

4

2 回答 2

3

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

%编辑:要获得 中的元素数量Wnumel(W)prod(size(W))

numel(W)

ans =
    40320
于 2012-05-04T22:35:56.550 回答
1

这是一个 ND(N维)数组,其中N = numEntries.

更具体地说,它是一个大小1 x 2 x ... x N为全 1 的 ND 数组。

于 2012-05-04T22:33:09.450 回答