标题: [数值计算] 【已解决】怎样用批处理计算对数log(x,y)和指数幂power(x,y) [打印本页]
作者: 小白一个 时间: 2016-9-28 16:36 标题: 【已解决】怎样用批处理计算对数log(x,y)和指数幂power(x,y)
本帖最后由 小白一个 于 2016-9-30 11:46 编辑
怎样用批处理程序计算指数和对数?
网上百度了好久,也没有找到,有像C和JAVA哪种现有的公式直接调用么?
作者: codegay 时间: 2016-9-28 17:05
“Life is short
(You need Python)”- >>> import math
- >>> math.log(13)
- 2.5649493574615367
- >>> math.log(13)
- 2.5649493574615367
- >>> pow(17,4)
- 83521
- >>>
复制代码
作者: happy886rr 时间: 2016-9-28 18:35
麦克劳林级数,稍加变化,增加收敛速度,用批处理可以实现,就是精度上不去,你要计算小数点后数万位的log,只能用C语言,C是是最快的。
作者: 小白一个 时间: 2016-9-28 19:09
麦克劳林级数,稍加变化,增加收敛速度,用批处理可以实现,就是精度上不去,你要计算小数点后数万位的log, ...
happy886rr 发表于 2016-9-28 18:35
我只要计算可控范围内的数字就行了,不需要计算那么多位,但不知道如何操作
作者: Bella 时间: 2016-9-28 19:17
外部命令: http://batch-cn.qiniudn.com/tool/bc.exe
我在linux下用没什么问题, win下跑log就退出, 不知道什么原因
作者: codegay 时间: 2016-9-28 19:23
回复 5# Bella
好像是去sf上下载。可能是bcn打包的一些文件不全。
作者: pcl_test 时间: 2016-9-28 19:28
本帖最后由 pcl_test 于 2016-9-28 21:47 编辑
powershell- for /f %%a in ('powershell -c "[Math]::pow(2,4)"') do echo;%%a
- for /f %%a in ('powershell -c "[Math]::log(16,2)"') do echo;%%a
复制代码
js- for /f %%a in ('mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Math.pow(2,4));close()"') do echo;%%a
- for /f %%a in ('mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Math.log(16)/Math.log(2));close()"') do echo;%%a
复制代码
vbs- for /f %%a in ('mshta "vbscript:CreateObject("Scripting.Filesystemobject").GetStandardStream(1).Write(2^4)(close)"') do echo;%%a
- for /f %%a in ('mshta "vbscript:CreateObject("Scripting.Filesystemobject").GetStandardStream(1).Write(log(16)/log(2))(close)"') do echo;%%a
复制代码
作者: codegay 时间: 2016-9-28 19:39
模仿版主的,来一发python版- for /f %a in ('python -c "print(__import__(""math"").log(16,2))"') do echo;%a
复制代码
作者: pcl_test 时间: 2016-9-28 19:39
回复 5# Bella
瑞士军刀- gawk "BEGIN{print 2^4}"
- gawk "BEGIN{print log(16)/log(2)}"
复制代码
作者: Bella 时间: 2016-9-28 19:44
回复 9# pcl_test
之前看到的笑话, 学了python, ruby后发现awk最装x, 一行流
awk至今不会, 去年看手册看不下去了, 用cut更简单
作者: codegay 时间: 2016-9-28 19:48
回复 10# Bella
你还应该去学学perl
作者: codegay 时间: 2016-9-28 19:55
这个是nim的。不出意料的话,golang的代码也很简单。- #2016年9月28日 19:49:31 codegay
- #nim log
-
- import math
- echo math.log2(16.0)
复制代码
作者: Bella 时间: 2016-9-28 19:55
回复 11# codegay
如果只用到一小部分功能, 就用别的语言/工具代替了, 否则多浪费时间 ...
作者: codegay 时间: 2016-9-28 20:07
狗蓝的
在golang官网可以直接这个代码。- package main
-
- import "fmt"
- import "math"
-
- func main() {
- fmt.Println("Hello, 世界")
- fmt.Println(math.Log2(16.0))
- }
复制代码
作者: happy886rr 时间: 2016-9-28 20:20
i工具- i/shell lg2
- i/shell lga/lgb
- i/shell 5*(arctan(cos(sin(ln(lg(2.71828))))))
复制代码
作者: 523066680 时间: 2016-9-28 22:22
- Terminal>perl -e "print log(2), ' ' , 2^6"
- 0.693147180559945 4
复制代码
作者: 小白一个 时间: 2016-9-30 11:42
回复 5# Bella
还是非常感谢你
作者: 小白一个 时间: 2016-9-30 11:46
好多高手,好多方法,感谢各位
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |