cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 2153|回复: 2

对于部分函数的进一步精简

[复制链接]
发表于 2010-3-31 15:25:04 | 显示全部楼层 |阅读模式
更详细的见三楼!
名称实现输出问题
max(x,y).5(x+y+abs(x-y))较大数
min(x,y).5(x+y-abs(x-y))较小数
maxb(x,y)(x+y+abs(x-y))较大数x2
minb(x,y)(x+y-abs(x-y))较小数x2
sgn(x)x/(abs(x)+10^-99)符号(1,-1,0)x不应过小,绝对值一般10^-85以上
sgnerr(x)x/abs(x)符号(1,-1)//0=err
isp(x).5(x-10^-99)/(abs(x)+10^-99)+.5是否为正(1,0)//0=0x不应过小
isn(x).5(x+10^-99)/(10^-99-abs(x))+.5是否为非正(1,0)//0=1x不应过小
ispz(x).5(10^-99-x)/(abs(x)-10^-99)+.5是否为负(1,0)//0=0x不应过小
isnz(x).5(10^-99-x)/(10^-99-abs(x))+.5是否为非负(1,0)//0=1x不应过小
ispb(x)(x-10^-99)/(abs(x)+10^-99)是否为正(1,-1)//0=-1x不应过小
isnb(x)(x+10^-99)/(10^-99-abs(x))是否为非正(1,-1)//0=1x不应过小
ispbz(x)(10^-99-x)/(abs(x)-10^-99)是否为负(1,-1)//0=-1x不应过小
isnbz(x)(10^-99-x)/(10^-99-abs(x))是否为非负(1,-1)//0=1x不应过小
isperr(x).5x/abs(x)+.5是否为正(1,0)//0=err
isnerr(x)-.5x/abs(x)+.5是否为负(1,0)//0=err
inc(x)x+1加一
dec(x)x-1减一
decerr(x)xc1-1减一//0=err
round(x)10^9(rnd(10^-9*x+5.5)-5.5)四舍五入取整x不应过大,绝对值一般10^9以下
frac(x)x-10^9(rnd(10^-9*x+5.5)-5.5)四舍五入取零x不应过大
int(x)10^9(rnd(10^-9*(x-.5)+5.5)-5.5)较小取整x不应过大
fpart(x)x-10^9(rnd(10^-9*(x-.5)+5.5)-5.5)较小取零x不应过大
intz(x)-10^9(rnd(10^-9*(-x-.5)+5.5)-5.5)较大取整x不应过大
fpartz(x)-10^9(rnd(10^-9*(-x-.5)+5.5)-5.5)-x较大取零x不应过大
err()0/0err
errx(x)0/x0//0=err
errxy(x)0/(y-x)0//(x=y)=err
it(x,y)0sqrt(y-x)0//(x>y)=err
nst(x,y)0/sqrt(y-x)0//(x>=y)=err
isint(x)abs(x)c1abs(x)//非整=err
isnat(x)xc1x//非自然=err
stoxy(x,y)rec(pol(x,y),y)x
stox(x)pol(x,0)x0->y

评分

参与人数 1金钱 +3 收起 理由
zasdfgbnm + 3 我很赞同

查看全部评分

 楼主| 发表于 2010-3-31 15:50:19 | 显示全部楼层
把s_1和s_2进一步精简,并分成ispb、isnb、ispbz、isnbz四种
 楼主| 发表于 2010-4-16 20:42:02 | 显示全部楼层
第三次发布,继续完善

esprogram.xls

24.5 KB, 下载次数: 29

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-20 13:19 , Processed in 0.070881 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表