【问题标题】:Why is not equal represented by ~= in Matlab?为什么在 Matlab 中用 ~= 表示不相等?
【发布时间】:2010-10-05 15:20:13
【问题描述】:

这是关于 Matlab 一直困扰我的事情之一。我明白为什么数组从 1 开始,而不是像任何其他编程语言那样从 0 开始,但为什么 != ~= 在 Matlab 中?

【问题讨论】:

  • 为什么火星上的天空用红色表示?因为它是火星,而不是地球。
  • 你可能想写“像大多数其他编程语言一样”。我想到的另一种从 1 开始索引的语言是 LUA。
  • 有趣的是,Matlab 的开源克隆 Octave 确实接受 !=(除了 ~=)和 !x(除了 ~x)。
  • Matlab 来自 1970 年代。事情可能在几个层面上有所不同:语言的实际流行程度;诸如语言流行等统计数据的可发现性;语法的收敛性是否是数学家权衡可读性的一个问题。但是,今天添加 != 似乎绝对不会造成任何问题,尤其是考虑到 Octave 做到了。
  • FORTAN 数组从 1 开始,第一个 MATLAB 是用 FORTRAN 为主要在 FORTRAN 中工作的科学家编写的。

标签: matlab


【解决方案1】:

波浪号 (~) 通常用作按位非运算符。
作为!字符保留用于其他用途(操作系统命令),我想这不是一个坏选择。

【讨论】:

    【解决方案2】:

    在数理逻辑中 ~ 是一种老式的书写方式 ¬

    【讨论】:

      【解决方案3】:

      在逻辑中,波浪号可以表示“不”,这可能会令人困惑,因为在数学中波浪号可以是“等价”或“近似”。然而,它出现在更多的键盘上,而不是不那么模棱两可的 ¬。当心,波浪号也可以表示按位不:)

      【讨论】:

      • 非常感谢大家的回答。他们都在某种程度上回答了我的问题,那我该怎么办?我可以将所有答案都标记为“已回答”吗?
      • @Ingo。选择看起来最完整的。在平局中,选择最早的平局答案。如果仍然卡住,请选择您认为拥有最佳照片的人(这是选举中的投票数)。如果仍然卡住;编写一个伪随机数生成器,根据 NIST 安全测试测试它的质量,改进它直到它通过,写一篇关于你在这样做的过程中所做的数学发现的论文,因为你对国家的贡献而获得一个小而有声望的奖艺术,然后使用 PRNG 选择一个答案来选择。好吧,或者只是随意选择一个。
      • 在决胜局中,选择代表最低的人!
      【解决方案4】:

      为什么.not..eq.~= 表示?出于同样的原因,它不表示为 =!=/= 或编程语言中使用的一百零一个其他约定中的任何一种。

      而 twiddle 或 ~ 在逻辑文本中被广泛用于表示 NOT

      【讨论】:

        猜你喜欢
        • 2010-10-15
        • 2013-10-25
        • 1970-01-01
        • 1970-01-01
        • 2021-07-05
        相关资源
        最近更新 更多