【问题标题】:What is use of tilde in Matlab when we use that inside array [duplicate]当我们在数组内部使用波浪号时,在Matlab中使用波浪号有什么用[重复]
【发布时间】:2019-12-03 13:25:05
【问题描述】:

我在数组'A'下面有一个数组

A = [9 2 9 5 6 40000];

如果我以下面的方式使用波浪号 (~),那么它会给我不同的输出,但我无法理解它执行的操作。

案例 1:

[~, C] = 唯一(A)

输出:

2
4
5
1
6

案例 2:

[~, ~, C] = 唯一(A)

输出:

4
1
4
2
3
5

我的问题是“~”运算符对数组执行什么样的操作?

【问题讨论】:

  • 这能回答你的问题吗? tilde character in the brackets (matlab code)
  • 这不是数组语法,它只是不同输出参数的分组,MathWorks 选择使用方括号。输出参数可以完全不同(类型、大小等),这仍然有效,而数组在这种情况下不起作用。

标签: matlab


【解决方案1】:

在输出参数的上下文中,~ 仅表示“未使用的输出”。上面代码中 C 更改的原因是您在每种情况下都请求定义为 C 的不同输出参数。

【讨论】:

  • 由于~通常被解释为“not”,所以直接解释为“not this output”。您可以跳过这些输出并阻止该功能弄乱您的工作空间。由于通常按计算顺序对输出进行排序,因此如果您抑制输出,则速度不会有所提高。您可能想看看这篇文章:stackoverflow.com/questions/19498911/… 和 matlab 的这篇博文blogs.mathworks.com/loren/2019/05/21/…
猜你喜欢
  • 2013-07-21
  • 2011-04-06
  • 2011-03-05
  • 2015-06-24
  • 2019-07-07
  • 2011-04-26
  • 2014-02-22
  • 2012-09-04
  • 2012-11-30
相关资源
最近更新 更多