zasdfgbnm 发表于 2010-3-31 12:22:31

新函数发布

函数实现方法输出值缺陷s_1(x)-sgn(-x-10^-80)若x>0则为1,否则为-10<x<10^-80时失效s_2(x)sgn(x+10^-80)若x≥0则为1,否则为-1-10^-80<x<0时失效条件分支结构的实现:
if(x>y) then
    a = b;
else
    a = c;
endif
计算器语言:
a + 0.5(b - a) (1+s_1(x-y))+0.5(c - a)(1 - s_1(x-y)) → a
if(x≥y) then
    a = b;
else
    a = c;
endif
计算器语言:
a + 0.5(b - a) (1+s_2(x-y))+0.5(c - a)(1 - s_2(x-y)) → a
注:
以上if - else -双选择的单语句实现,是由991es82es发现的方法改进而来

imath 发表于 2010-4-2 20:55:00

这种函数可以用If then Else IfEnd/EndIf呀

zasdfgbnm 发表于 2010-4-3 09:04:33

这种函数可以用If then Else IfEnd/EndIf呀
发表于 2010-4-2 20:55 http://www.cncalc.org/images/common/back.gif
没看懂你什么意思~
我是看ispositive太复杂而提出来的if else endif的改进,由于ispositive已被hcz精简,一楼的条件分支的精简已经失去了实际意义,因为现在的ispositive更简单

imath 发表于 2010-4-3 12:34:14

If a=1
Then goto 1
Else goto 2
IfEnd
Lbl 1
...
Lbl 2
..

或者 a=1 =>goto 1
      a=2 =>goto 2
      Lbl 1
      ...
      Lbl 2
      ...

zasdfgbnm 发表于 2010-4-3 12:54:47

ES要是有goto就好了。。。

hcz 发表于 2010-4-5 09:42:29

呵呵~

imath 发表于 2010-4-5 17:34:58

ES有Goto的
比如输入1/0,按一下等号,左右键对应的就是Goto

hcz 发表于 2010-4-5 17:46:04

但是不能从一个语句的中间执行
页: [1]
查看完整版本: 新函数发布