gpt4 book ai didi

matlab - 为什么 isscalar、isvector 和 ismatrix 对于 A = 1 都为真?

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:59 24 4
gpt4 key购买 nike

Matlab 有以下检查输入的函数:

对于 A = 1(或任何“标量”输入)所有 以上返回 true
为什么我会看到这种违反直觉的行为?
我如何将 A = 1 识别为标量?

最佳答案

我一点也不觉得它违反直觉。在数学中存在一维向量(即使它们与标量同构)。此外,矩阵的大小完全可以为 1x1。

的确,单个数字可以被视为标量、1 向量或 1x1 矩阵。 Matlab的观点是:

  • 标量被认为是 1x1 矩阵
  • n-向量只是一个 1 x nn x 1 矩阵
  • 更一般地说:尾随单例维度不计算在内。例如,大小为 2x3x4 的 3D 数组也可以被认为是大小为 2x3x4x1x1 的 5D 数组。这可以正常工作:

    >> a = rand(2,3,4);
    >> a(2,2,2)
    ans =
    0.2575
    >> a(2,2,2,1,1)
    ans =
    0.2575

现在,如果您想检查 A 是否是向量、矩阵或多维数组具有多个元素,请使用

numel(A)>1

numel函数返回其输入参数的元素数。

关于matlab - 为什么 isscalar、isvector 和 ismatrix 对于 A = 1 都为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25575886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com