LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1046|回复: 9

请教高手,怎样在脚本里求数学表示的值?

[复制链接]
发表于 2006-9-17 11:32:23 | 显示全部楼层 |阅读模式
比如:

i=3.654789
j=36.214569
a=($j*1.1547/$i)**0.3333333333333333333
先谢谢了,急!在线等......
发表于 2006-9-17 12:07:26 | 显示全部楼层
用bc,然后自己写一个处理求非整数指数函数的值的函数(可以在网上找,相应的c库的实现)
回复 支持 反对

使用道具 举报

发表于 2006-9-17 12:39:33 | 显示全部楼层
echo "scale=1000000000000;$j*1.1547/$i0.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333"|bc -l
man bc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-17 18:18:37 | 显示全部楼层
谢谢高人相助!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-17 23:20:59 | 显示全部楼层
Post by 寂寞烈火
echo "scale=1000000000000;$j*1.1547/$i0.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333"|bc -l
man bc




但是bc不能求小数次幂呀(如3**0.333333),郁闷~~必须自己编函数吗? 急.....
回复 支持 反对

使用道具 举报

发表于 2006-9-18 05:25:49 | 显示全部楼层
怎么不用awk?

echo | awk '{
i=3.654789
j=36.214569
print (j*1.1547/i)^0.3333333333333333333
}'
回复 支持 反对

使用道具 举报

发表于 2006-9-18 09:12:18 | 显示全部楼层
高手阿,高手阿,忘了awk是种语言了。。。。。
回复 支持 反对

使用道具 举报

发表于 2006-9-18 13:22:25 | 显示全部楼层
请问如果是求整数值的话是不是也应该可以用expr的?
可是我用expr的时候总是不对呢?
$ expr 10+10
10+10
本来应该是20才对的阿,怎么显示的是10+10?
回复 支持 反对

使用道具 举报

发表于 2006-9-18 16:27:51 | 显示全部楼层
expr 10 + 10
注意空格
回复 支持 反对

使用道具 举报

发表于 2006-9-18 17:05:37 | 显示全部楼层
原来是这样。
明白了
回复 支持 反对

使用道具 举报

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

本版积分规则

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