标题: [其他] 数学计算工具i 1.8版 [打印本页]
作者: happy886rr 时间: 2016-4-29 23:02 标题: 数学计算工具i 1.8版
本帖最后由 happy886rr 于 2016-6-17 07:51 编辑
地址http://pan.baidu.com/s/1boLGeL5
修订:数学计算工具i版本1.8,此次修订兼并、删除近30%冗余功能,增加10%新特性,并将体积控制在30KB。增加求解方程组模式,增加计算自然底数e,提升斐波那契数的计算能力(可计算至第50万项),采用了双引擎素数筛法,强大的盾构机筛引擎可以在几毫秒内随意筛选 九千九百九十九亿 以内的素数(目前第一万亿溢出筛不到,但前9999亿完全可筛),使用素数切片的交互概念,一切都是如此迅捷。
数学计算工具集(第一季):十几个在数学计算领域里极为强悍的小工具打包为一个集合,涵盖了从数论、数值计算、分形绘图 等各个方面的功能,可满足一般的科学计算需求,即便是mathematica她的算法也有很多错误之处,因此你除了安装接近几个G的mathematica之外,还有另外一种选择,就是这些强悍的小工具,绘图能力,尤其是曲线细节描绘远超mathematica。python、julia虽擅常数学计算,但她们的效率与C或汇编比起来非常低下,julia能在3秒内筛选9亿内素数,但是C+汇编+多线程算法优化使得这些小工具可以在1秒内筛选百亿甚至数百亿内的素数。附带gmp静态库,可计算上亿项的斐波那契数列,千万级别阶乘运算组合数、以及各类大数运算函数。
时间:2016-05-23- [Happy's "i" Version:1.8]
- 欢迎使用数学计算工具i
-
- 1┌Fibonacci数 i/fib [项数]
- └Fibonacci数求和 i/fib.sum [项]
- 2┌阶乘 i/fac [n]
- ├底数e i/e [有效位数]
- └圆周率π i/pi [有效位数]
- 3┌统计 i/sti {样本数组}
- ├求和 i/sum {数组}
- └均值 i/ave {数组}
- 4┌等差求和 i/es [首项] [公差] [项数]
- └等比求和 i/eg [首项] [公比] [项数]
- 5┌圆面积 i/S [半径]
- └三角形面积 i/S {三边长}
- 6┌球体积 i/V [半径]
- └圆柱体积 i/V [半径] [圆柱高]
- 7┌排列计算 i/P [n] [m]
- └组合计算 i/C [n] [m]
- 8┌素数概览 i/pri [范围]
- ├素数切片 i/pri [始] [末]
- ├素数统计 i/pri.count [范围]
- ├第n个素数 i/pri.index [n]
- ├第n个到第m个素数 i/pri.index [n] [m]
- ├素性检测 i/pri? [待测数]
- └素数累加和 i/pri.sum [范围]
- 9┌一元n次方程 i/i {方程系数}
- ├单位复根 i/i [幂]
- └方程组模式 i/ii
- *工具箱
- ┌复利计算 i/cpr [本金] [利率] [复利次数]
- ├年金计算 i/ypr [年金] [利率] [计息期数]
- ├个税计算 i/pit [收入] [三险一金]
- ├日期间隔 i/date {开始日期} {结束日期}
- ├幻方打印 i/mag [阶数]
- ├高精度四则 i/hip ["表达式"]
- └化学元素周期表 i/ele
- *Hash计算
- ┌ 字符串摘要 i/hash ["字符串"]
- ├md5文件摘要 i/md5 ["文件路径"]
- └16位md5摘要 i/md5.16 ["文件路径"]
- *Shell>> i/shell
复制代码
用法:
1.举个简单例子,比如我要求1到9的和,有两种写法:- REM 数组求和
- i/sum 1 2 3 4 5 6 7 8 9
- REM 等差数列求和
- i/es 1 1 9
复制代码
2.查看化学元素周期表,下面的命令瞬间就会出现神奇。复制代码
3.表达式计算,采用StarWing的灵感结合词法分析,可进行非常丰富的表达式运算。支持多种函数:- 常数类
- pi 3.141592653589
- e 2.718281828489
- 通用类
- round 四舍五入
- floor 整取
- ceil 向上舍入
- deg 角度转弧度
- sqrt 开方
- lg 常用对数,以10为底
- ln 自然对数
- // 整除
- % 取余数
- ^ 次方
-
- 三角函数类
- sin、cos、tan
- arcsin、arccos、arctan
-
- 双曲函数类
- sinh、cosh、tanh
- arcsinh、arccosh、arctanh
复制代码
请使用命令进入shell计算模式复制代码
直接输入、或粘贴表达式,即刻出结果。
示例计算((3*3+2)%6+7.187)*5-7/189,使用如下命令:- [code]
- REM 粘贴表达式计算
- >>((3*3+2)%6+7.187)*5-7/189
- = 60.897962962963
复制代码
复杂的多函数混合嵌套计算,直接复制粘贴算式就行,计算更本不需要时间。- >>3+5tan5lnlge+6pi*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge/lnpi+6pi-tanpi+arcsin0.75+sin0.75+lge+lnpi//2+5tan5lnlge+6pi*tanpi+arcsin0.75*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75+lge/lnpi+6pi-tanpi+arcsin0.75+sin0.75+lge+lnpi//2+5tan5lnlge+6pi*tanpi+arcsin0.75*tanpi+arcsin0.75+lge+lnpi+6pi-tanpi+arcsin0.75
- = 708.20927815645
复制代码
基于词法分析,支持数学风格的书写式,比如计算5*(arctan(cos(sin(ln(lg(2.71828)))))),许多编程语言只能接受这种带有许多括号及*号区分的表达式,但是现在你完全可以不写任何乘号和括号,直接这样写5arctancossinlnlge,i工具会自己识别判断。测试如下:- REM 加括号和乘号的结果
- >>5*(arctan(cos(sin(ln(lg(2.71828))))))
- 答案=3.17898...
- REM 不加括号和乘号的结果
- >>5arctancossinlnlge
- 答案=3.17898...
复制代码
4.排列组合计算,比如我要计算双色球中百万大奖的概率是多少?就是算组合数C(33,6)*16的倒数:- REM 计算组合数C(33,6)
- i/C 33 6
- =1107568
- i/shell 1/(16*1107568)
- =0.000000056430
- REM 只有可怜的亿分之5.643左右的概率
复制代码
5.增加复利、年金、个税计算等实用功能。- REM 复利计算
- i/CPR [本金] [利率] [复利次数]
- REM 年金计算
- i/YPR [年金] [利率] [计息期数]
- REM 个税计算
- i/PIT [收入] [三险一金]
复制代码
6.打印一个12阶幻方。- i/mag 12
- ┌────────────────────────┐
- 144 2 3 4 5 139 138 8 9 10 11 133
- 13 131 15 16 128 18 19 125 21 22 122 24
- 25 26 118 117 29 30 31 32 112 111 35 36
- 37 38 106 105 41 42 43 44 100 99 47 48
- 49 95 51 52 92 54 55 89 57 58 86 60
- 84 62 63 64 65 79 78 68 69 70 71 73
- 72 74 75 76 77 67 66 80 81 82 83 61
- 85 59 87 88 56 90 91 53 93 94 50 96
- 97 98 46 45 101 102 103 104 40 39 107 108
- 109 110 34 33 113 114 115 116 28 27 119 120
- 121 23 123 124 20 126 127 17 129 130 14 132
- 12 134 135 136 137 7 6 140 141 142 143 1
-
- └────────────────────────┘
复制代码
7.hash计算模式,支持字符串hash计算:- i/hash i
- Crc32 : e66c3671
- Md5 : 865c0c0b4ab0e063e5caa3387c1a8741
- Sha1 : 042dc4512fa3d391c5170cf3aa61e6a638f84342
- Sha256: de7d1b721a1e0632b7cf04edf5032c8ecffa9f9a08492152b926f1a5a7e765d7
复制代码
文件md5效验- i/md5 i.exe
- REM 32位md5摘要
- MD5 Code:0a3c2eb8c4de4c0184dda0b9fdd82655
- i/md5.16 i.exe
- REM 16位md5摘要
- MD5 Code:c4de4c0184dda0b9
复制代码
8.高性能的素数分析工具。
列出100万以内的素数- i/pri 1000000
- 在1000000以内共有78498个素数
- ┌────────────────────────┐
- 2 3 5 7 11
- 13 17 19 23 29
- 31 37 41 43 47
- 53 59 61 67 71
- 73 79 83 89 97
- ......
-
- 999613 999623 999631 999653 999667
- 999671 999683 999721 999727 999749
- 999763 999769 999773 999809 999853
- 999863 999883 999907 999917 999931
- 999953 999959 999961 999979 999983
- └────────────────────────┘
- 该范围内最大的素数为:999983
复制代码
列出一亿到一亿500之间的素数- i/pri 100000000 100000500
- 在 100000000 到 100000500 区间内共有27个素数
- ┌────────────────────────┐
- 100000007 100000037 100000039 100000049 100000073
- 100000081 100000123 100000127 100000193 100000213
- 100000217 100000223 100000231 100000237 100000259
- 100000267 100000279 100000357 100000379 100000393
- 100000399 100000421 100000429 100000463 100000469
- 100000471 100000493
- └────────────────────────┘
复制代码
统计300亿内的素数个数- i/pri.count 30000000000
- 在30000000000以内共有1300005926个素数
复制代码
列出第1000万个素数- i/pri.index 10000000
- 第10000000个素数是179424673
复制代码
列出第10001个素数到第10050个素数之间的素数- i/pri.index 10001 10050
- 第10001个素数 到 第10050个素数
- ┌────────────────────────┐
- 104743 104759 104761 104773 104779
- 104789 104801 104803 104827 104831
- 104849 104851 104869 104879 104891
- 104911 104917 104933 104947 104953
- 104959 104971 104987 104999 105019
- 105023 105031 105037 105071 105097
- 105107 105137 105143 105167 105173
- 105199 105211 105227 105229 105239
- 105251 105253 105263 105269 105277
- 105319 105323 105331 105337 105341
- └────────────────────────┘
复制代码
检测一个数是否是素数- i/pri? 100000357
- 100000357 是素数
复制代码
计算30亿内的素数和- i/pri.sum 3000000000
- 211169315361937456
复制代码
9.高次方程求解,三次方程参考范盛金的数学公式,四次方程采用费拉里降次为两个二次方程,五次方程没有精确的求根公式,采用牛顿迭代法(利用导线逼近0点)进而降次为四次方程。求解过程非常简单只需要使用/i 开关,将方程的系数输入便可得到所有解(包含复数解)。
举例,求解方程3x^4+5x^2-6x=9,由于该方程没有x^3项,所以x^3项对应的系数写0,注意到“=9”等号右边的系数取负,因此用i工具来求解应该这样输入:- i/i 3 0 5 -6 -9
- 一元四次方程3x^4+0x^3+5x^2-6x-9=0的解为:
- ┌────────────────────────┐
- 共轭复根:-0.252438186547+1.696390660707i
- -0.252438186547-1.696390660707i
- 实数解为: 1.293411063722
- -0.788534690627
- └────────────────────────┘
复制代码
再如求解等系数方程x^36+x^35+x^34+x^33+...+x^2+x^1+x^0=0,该方程所有系数均为1,共有37个1,所以直接i/i 37- i/i 37
- 等系数方程x^36+x^35+x^34+x^33+x^32+x^31+x^30+x^29+x^28+x^27+x^26+x^25+x^24+x^23+x^22+x^21+x^20+x^19+x^18+x^17+x^16+x^15+x^14+x^13+x^12+x^11+x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x^1+1=0的解为:
- ┌────────────────────────┐
- x[ 1]= 0.985615910348+0.169000820322i
- x[ 2]= 0.942877445461+0.333139794742i
- x[ 3]= 0.873014113161+0.487694943814i
- x[ 4]= 0.778035754318+0.628219997296i
- x[ 5]= 0.660674723390+0.750672305253i
- ... ...
- ... ...
- x[32]= 0.660674723390-0.750672305253i
- x[33]= 0.778035754318-0.628219997296i
- x[34]= 0.873014113161-0.487694943814i
- x[35]= 0.942877445461-0.333139794742i
- x[36]= 0.985615910348-0.169000820322i
- └────────────────────────┘
复制代码
再来看下,智能的自动降次功能- i/i 0 0 0 0 1 5
- 一元五次方程0x^5+0x^4+0x^3+0x^2+1x+5=0的解为:
- ┌────────────────────────┐
- 降为一元四次方程
- 降为一元三次方程
- 降为一元二次方程
- 降为一元一次方程
- 实数解为:x=-5.000000000000
- └────────────────────────┘
复制代码
直接来个五次方程的迭代解- i/i 1 2 3 4 5 6
- 一元五次方程1x^5+2x^4+3x^3+4x^2+5x+6=0的解为:
- ┌────────────────────────┐
- 共轭复根:-0.913952173245+1.001776220695i
- -0.913952173245-1.001776220695i
- 共轭复根: 0.538952173245+1.158003637160i
- 0.538952173245-1.158003637160i
- 迭代解为:-2.000000000000
- └────────────────────────┘
复制代码
作者: shootman2 时间: 2016-4-29 23:57
沙发,赞一个!
作者: codegay 时间: 2016-4-30 04:25
本帖最后由 codegay 于 2016-4-30 05:51 编辑
h,help显示帮助,q或者exit退出,比较符合习惯和直觉。
作者: happy886rr 时间: 2016-4-30 08:43
回复 3# codegay
显示帮助 i/?
退出 i
力求简洁,形成一种特有语法体系。因是初版,很多功能都没集成,比如计算积分,解方程,还有绘图引擎都在测试阶段,千万位的大数运算库还在编写,业余搞搞,进度很慢。
作者: CrLf 时间: 2016-4-30 10:53
不知楼主介不介意分享源码?
类似功能的第三方:
http://www.bathome.net/thread-35723-1-1.html
其算式解析部分基于:
http://bbs.bccn.net/thread-245044-1-1.html
作者: CrLf 时间: 2016-4-30 12:05
有些功能是否能合并?比如椭圆面积和正圆面积
作者: happy886rr 时间: 2016-5-10 00:21
回复 3# codegay
已加入q退出,帮助信息直接输i就能看到,增加了很多新功能。体积暴涨到28KB。
作者: happy886rr 时间: 2016-5-10 00:23
回复 6# CrLf
已合并圆、椭圆计算公式,并且增加了hash算法。增加了许多其他计算功能、完善了表达式计算。在尾部有源代码地址,附带数万行开源项目代码。
作者: happy886rr 时间: 2016-5-10 00:30
回复 5# CrLf
大师,算式解析部分,我对C不太懂,用的也是编程论坛那个方案。我请教了Abacus的作者,他的项目是公认最好的,但是我无法读懂他的巨大的代码,所以表达式解析还是在用StarWing的方案。
另外我发现hash.exe在计算超过2G的文件时,md5值是溢出的,因此我在i工具里集成了大文件md5算法。
作者: codegay 时间: 2016-5-10 00:55
回复 9# happy886rr
日期格式和计算经常用到。可以考虑做一个。
作者: happy886rr 时间: 2016-5-10 09:36
回复 10# codegay
是计算时间差吗?还是别的?
作者: codegay 时间: 2016-5-10 09:44
回复 11# happy886rr
嗯。论坛里经常有问到类似问题的。日期差,时间差,时期日期格式化之类的。
很久很久以前我也需要。不过现在会python了,可以自己解决了。
作者: happy886rr 时间: 2016-5-10 09:47
回复 12# codegay
好吧,等下一版,连正则表达式文本替换,文本排版,文件改名,时间一起集成进去,但是那样体积会增大到100KB之多。
作者: CrLf 时间: 2016-6-17 00:09
下载地址不存在...是在筹备新版吗?
作者: happy886rr 时间: 2016-6-17 08:12
回复 14# CrLf
大师,链接已可用。未筹划,因为我把十几个数学工具打包成为数学计算工具集了,里边涵盖很多命令行以及窗口界面的数学计算、绘图工具。GP很优秀的命令行,gmp大数运算库...。我觉得这些计算工具足以解决很专业的数学计算需求。刚完成的是一个类似安卓厨房的制作手机固件制作批处理,几千行批处理代码。就是自动制作各种ROM,root手机、备份app和用户信息,安卓内核的修改,recovery移植等等。复制代码
作者: happy886rr 时间: 2016-6-17 11:26
回复 14# CrLf
自己只是入门水平,去年连批处理也不会。这个论坛让我学到很多批处理技巧,受益颇丰。
未来就是那1600+第三方,很多功能有重复,完全可以做个迷你版的第三方合集,压缩为30M左右,包含常用重要第三方,就叫他“mini第三方”了。
作者: codegay 时间: 2016-6-17 12:15
回复 16# happy886rr
.....你这进步速度太快。
作者: CrLf 时间: 2016-6-17 12:28
回复 16# happy886rr
这个项目可以有,我看打个包就可以了,gawk sed curl wget 等必备,还有其他的推荐吗?
作者: happy886rr 时间: 2016-6-17 13:29
回复 18# CrLf
计算md5的太多,一个hash.exe就足够好用。不知第三方的下载量有没有统计过,把下载量排前几名的打包,做成一键的,用户点一下就自动将mini第三方的路径添加到环境变量。顺带把bcn也打包进去,这样未包含的第三方也可以用bcn获得。就是做成类似mingw的小集合。方便用户一键部署Batchhome第三方,从而在几秒内就建立一个cmd的扩展工具集,使目标电脑的批处理功能大为增强。
作者: CrLf 时间: 2016-6-17 13:34
回复 19# happy886rr
回头统计一下看看
作者: happy886rr 时间: 2016-6-17 13:34
回复 17# codegay
好多python都是看你的,然后模仿你的写法。你的py写的非常规范成熟。
作者: codegay 时间: 2016-6-23 13:12
回复 21# happy886rr
这么说我好脸红,我的写法不是规范的。
python有个PEP8 规范,如果你还继续学python,应该看看这个。
有些公司可能有编码规范,估计和PEP8规范差不多。
作者: CrLf 时间: 2016-6-24 10:12
呃,网盘好像又挂了...
作者: vinememz 时间: 2021-1-28 22:05
下載鏈接掛了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |