Java 如何编写选择器代码?

Java 如何编写选择器代码?,java,c++,math,Java,C++,Math,我正在研究一个算法,但是有一个关于选择器的注释。我不确定这意味着什么,但我正在撰写的研究论文说: δ是一个选择器,即如果x>0,δx=1,否则 δx=0 如何使用伪代码、C++或java来编码这个? 谢谢 δ是一个选择器,即如果x>0,则δx=1,否则δx=0 你只需要一个if 在伪代码中: delta = function(x) { if (x > 0) return 1 else return 0

我正在研究一个算法,但是有一个关于选择器的注释。我不确定这意味着什么,但我正在撰写的研究论文说:

δ是一个选择器,即如果x>0,δx=1,否则 δx=0

如何使用伪代码、C++或java来编码这个? 谢谢

δ是一个选择器,即如果x>0,则δx=1,否则δx=0

你只需要一个if

在伪代码中:

delta = function(x)
      {
      if (x > 0)
          return 1
      else
          return 0
      }
这是一个函数 传入x 检查x是否大于0 如果是,请返回1 否则 返回0

此上下文中的选择器只是一个布尔函数,它在某一点之前为x的所有值返回0或1,然后在该点之后返回1或0。换言之,a需要两个步骤


顺便说一句,根据问题中delta的具体定义,delta是x=0的值为0的离散值。

如果不想使用If,可以用C编写:

Math.CeilingMath.Signx*0.1

在Java中,应该是这样的:


Math.ceilingMath.signumx*0.1

你能给我们一个研究论文的链接,或者给我们一个你正在研究的算法的描述,这样我们就可以了解δ在上下文中是如何使用的吗?谢谢nico。我只是想要一个简单的答案,而不是人们攻击我不熟悉的东西。这是Heavyside函数,而不是Heavyside函数。该名称似乎是描述性的,但该函数是以George Heaviside命名的,而不是因为函数一侧很重。顺便说一句,调用这个函数δ非常糟糕;称之为选择器也同样糟糕。Heaviside函数为Hx duh,是δ分布的积分。δ分布是一个选择器,但它不是一个函数。那是奥利弗·哈维西德,不是乔治。@David:谢谢你指出了重的和G·哈维西德的小道消息。这些年来,我一直以为它是以它的形象命名的,而不是以一个人的名字命名的。顺便说一句,维基百科提到的是奥利弗而不是乔治。而且,完全同意,德尔塔是一个糟糕的名字可能只是问题中提到的论文使用了更合适的sigma,但鉴于字体/代码页,很难阅读;是的,但我认为最好避免不必要的类型转换。一些额外的字符不会伤害:
template <class T>
int selector(T x)
{
  return x > 0 ? 1 : 0;
}