「不定期更新」Calc Pro
bat吧
全部回复
仅看楼主
level 14
John▫Aº 楼主
将实现的功能:
特殊符号支持,如!@()=^&%|<>
普通计算+双精度科学计算
变量和任意元函数的定义
支持任意长度合法字符串作为变量或函数名
离散函数递推定义
非离散函数递推定义及分段函数定义
......To be continued......
_________________________________________
以下将跟进制作进度和一些心得体会
2017年07月07日 02点07分 1
level 14
John▫Aº 楼主
为了全局支持特殊字符,建议养成良好的编程习惯:
1.set和if语句使用""
2.call语句不直接传变量值而传变量名
3.用!!尽量避免%%的嵌套
2017年07月07日 02点07分 3
学习了[真棒]
2017年07月07日 10点07分
level 13
暖贴
末影人吐槽君:2333
2017年07月07日 03点07分 4
初版已发布
2017年07月08日 15点07分
level 14
John▫Aº 楼主
解析完成,制作计算部分
2017年07月07日 09点07分 5
level 14
John▫Aº 楼主
制作函数递推部分
2017年07月08日 12点07分 6
level 14
John▫Aº 楼主
2017年07月08日 15点07分 7
level 1
[真棒]厉害,你的技术已经鬼斧神工。
但使用说明没有。函数递推只能做简单递推,对这种递推f(n)=f(n-1)+f(n-2)就无解了。
2017年07月09日 01点07分 9
检查了一下,是变量名冲突了,把call :fapply的第四个参数改为%1.host.%%i就好了。
2017年07月09日 02点07分
但是递推较慢,稍后会增加结果存储功能,不用每次都算了。可惜现在这边停电,手机无力。
2017年07月09日 02点07分
回复
敖文轩321
:[真棒]已经做到很棒了。
2017年07月09日 03点07分
@happy886rr 重新定义了批处理计算器
2017年07月09日 03点07分
level 14
John▫Aº 楼主
长期有效:
链接: [无效] https://pan.baidu.com/s/1dEI9afB 密码: jqd6
2017年07月09日 05点07分 10
level 14
John▫Aº 楼主
终于开始处理科学计算所用函数了,从bathome上找了几个函数,
@happy886rr 的乘法时偷懒用了IO,可能拖慢了速度。
In[1]:=123^123
Out[1]=1143743679346171900998802952280662767462
18078451850
229775887975052369504785666896446606568365201542169649974727730628842345343196581
13489591994
2820874449837212099476648958359023796078549041949007807220625356526926729664064846685758382803707100766740220839267
Time used:0004.34s
In[14]:=f(100)
Out[14]=354224848179261915075
Time used:000886.57s
2017年07月09日 08点07分 11
好厉害,线性递推关系式都解决。[真棒]
2017年07月09日 08点07分
@happy886rr 建议增加一个常数PI圆周率。
2017年07月09日 09点07分
回复 happy886rr :谢谢支持!不一定要是线性递推,任意表达式都可以,还可以多个函数交叉递推,等等。常用的常数会加进去的。
2017年07月09日 10点07分
回复
敖文轩321
:这就好,那个乘法核心,也是我去年自学批处理写的,可能有点瑕疵,但不影响结果,就是会在答案前面多几个0
2017年07月09日 10点07分
level 14
线性代数。。
2017年07月09日 15点07分 12
level 14
John▫Aº 楼主
正在研究科学计数和除法
2017年07月10日 04点07分 13
level 14
John▫Aº 楼主
合影留念,用@ 表示科学计数法中的指数,相当于e,
20170710->2.0170710e+7->2.0170710@+7
2017年07月10日 12点07分 14
level 13
6了
2017年07月11日 09点07分 15
level 14
支持!不过你其实做这个没啥用,要我说,我会把这个变成一个API一样的或第三方的东西,这样别人想可以直接调用来获得算术的东西
并且矩阵之类的我觉得需要加强
2017年07月11日 13点07分 16
想要实用当然不能用bat,运算效率太低,也没有现成的函数库可用;我只不过是想自己实现 表达式解析器+科学运算
2017年07月11日 13点07分
要是用python的话,你说的那些功能可直接套用现成的库。看了 编译原理 后就有一种写解释器的冲动。
2017年07月11日 13点07分
回复
敖文轩321
:建议用C,不过python的numpy库也不错
2017年07月12日 04点07分
level 14
John▫Aº 楼主
改进了乘法之后真是效率大增,再也不用担心算e了:
(话说又新增了$代表命令行的功能)
In[1]:=$precision off
In[2]:=333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*35248736478125483258465381274573824682938643276487236487126843219846732462786478269865782657836249783236956347956984698236574653982649238658347356938249823563746592834289379873465873629846239856834726594843398265972386498236593726352987492836498623984692836592842
Out[2]=1174957882604
18277528217
937581912748943128810921624121623756144066
15577487595
4927566219275526120832610789854493
18994899412
19
15513275497
462194491
18979416607
854582197611429793291
15529120994
87466
18944908864
94779942199079549941219790878432916427883287466
15642788642
806666666666666666666666666666666666666666666666666666666666666666666666666549170878406248389
13844872908
4753917723537855745042545042910522600510891790711739100447391140545834055876812173476717672544751
15339116920
44721754768725005881208446905523687337551
13754567179
200477217578017
18867244675
871167254468757882337502387833792005102387802386
Time used:00012.23s
In[3]:=$precision on
In[4]:=1.000001^1000000
Out[4]=2.7
18280469287
8939@0
Time used:0005.99s
In[5]:=1.00000001^100000000
Out[5]=2.7
18281814850
8114@0
Time used:0008.34s
2017年07月11日 13点07分 17
我用mathematica算In[1]居然还比我的calc pro慢!
2017年07月11日 13点07分
1 2 尾页