matlab - MATLAB中方括号的使用

标签 matlab vector square-bracket

在 MATLAB 中,您可以轻松地创建整数数组

N = 100; % Number of points
A = 1:N; % row vector of 1,2,3,..., 100

如果我想要一个列向量而不是行向量,我可以用

A = [1:N].';

现在,MATLAB 警告我

Use of brackets [] is unnecessary. Use parentheses to group if necessary.

好吧,它们并不是不必要的,因为 1:N.' 创建了一个行向量,因为只有标量 N 被转置,而不是整个数组。

我当然可以在该行、该文件或所有文件中抑制此消息,但为什么 MATLAB 首先抛出此警告,因为在这种情况下我似乎不能没有这些括号?

事实证明,混淆的很大一部分源于 MathWorks 使用美式英语,因为其他英语世界使用术语括号表示 ()[] 的术语方括号。参见 Wikipedia

最佳答案

正如 MATLAB 警告您的那样:如有必要,请使用括号进行分组。 在你的情况下,这是必要的。您希望 .' 应用于 1:N,因此使用括号 ()。 方括号[]是收集里面的元素,但是1:N已经收集了

A=(1:N).';

关于matlab - MATLAB中方括号的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41038431/

相关文章:

matlab - i3 窗口管理器 - 将 MATLAB 图形窗口放入特定工作区

c++ - 调试 vector 检索?

矢量查找的 R 习语

C++ 不接受对象字符串中的@ 符号?似乎是地址问题?

php - 在php中访问不带方括号的数组值

unicode - 所有 Unicode 左括号/右括号的列表

matlab - Matlab 中的 Pearson 系数和协方差计算

python - scipy.linalg.eig 返回协方差矩阵的复杂特征值?

c++ - 在 mex 函数中索引和访问元胞数组和矩阵的元素

bash - 如何在 bash 脚本中用方括号中的范围扩展参数?