今天在寻找数学软件时,无意中发现了这么个网址(http://blender./6292696.html),该文简单的比较了几种免费数学工具在各种数学运算上的支持与否,总体上说这些软件都还是不错的,最后我选定了四种数学工具供自己以后使用:Eigenmath、SpeQ、Sysquake LE和FreeMat。其实我自己非常喜欢Speq这款软件,但是它不支持微分与积分运算,而Eigenmath正好弥补了这个不足,选择Sysquake LE是因为它能够与Matlab兼容。其实FreeMat就可以实现微分与积分运算且与Matlab兼容,仅仅留此一个不久足矣,为何还要其他三个呢?这主要是因为我有个毛病,对于功能相近的软件,我喜欢选择程序小的软件。因此这把这三个小软件保留了下来。 Eigenmath、SpeQ和Sysquake LE这三款软件,从功能上看差不了多少,唯独Eigenmath支持微积分运算,Sysquake LE能很好的与Matlab兼容。但是从界面上看,Speq略胜一筹。 运行Speq,可以看到它有三个窗口:左边的变量窗口、中间的命令行窗口、右边的常用软件窗口,界面上感觉很清新,使用上很方便,尤其是命令行窗口,其空间较大,输入数学算式,直接在下一行给出结果,显示很直观。作图时,在新窗口中呈现图像。 Eigenmath界面上很简洁,简洁得只剩下一块空白窗口,其命令输入在最小面的那个小横条中,因此运算输入不够Speq方便。其运算结果在命令输入行上方显示,作图时使用底部的“draw”按钮进行作图,图形也直接显示在命令行上方。这与Mathematic的风格比较相近。总体上的功能与Speq差不多,但是支持微分与积分运算,分别是底部的Derivative和Integral按钮,当然直接在命令行中输入也是一样的。 Sysquake LE在界面上与Eigenmath十分相似。启动后,底部的小横行就是命令输入行,与Eigenmath不同的是,它的命令输入行更像是命令输入窗口,可以通过拖动随意增减窗口大小,而Eigenmath完完全全就是命令输入行,无法拖动增减大小。上面说过,Sysquake LE最大的不同就是与Matlab兼容,其命令格式与Matlab一致,可以直接像输入Matlab命令一样进行运算。如果学过Matlab,就不需要重新学习语言了。 总的说,这三款软件功能上差不多,语法上Sysquake LE和Matlab兼容。但不管怎么说,三款软件在语言上都是比较简单明的。我自己比较喜欢Speq,对于一些简单的运算使用Speq来计算就已经绰绰有余了。 ps:Speq和Eigenmath都支持微积分运算,只是他们使用的命令不同,Speq使用fnDiff()和fnInt()命令,而Eigenmath更为直观,使用Derivative和Integral命令。 Speq不区分大小写,而Eigenmath对大小写很敏感。这一点不如Speq。 来源:http://hi.baidu.com/lvneng/blog/item/4662e0f010f692cb7931aa93.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 计算器+几何画板 计算器 ms自带的计算器使用太不方便了,而Matlab的个头越来越太夸张。这里收集一些免费的和/或小巧的高级计算器,并作简单的对比 便携名称有理数虚数sin(0)/0矩阵符号运算键盘输入图形输出自定义脚本绘图文件大小上次发布 支持微积分支持↑拷贝变量函数支持Matlab兼容支持函数高级控制 Eigenmath1√√×√√√√√√√√√×2D××<1M2007.05 SpeQ×√××××√××√√√×2D√部分<0.5M Sysquake LE×√× √××√√×√/td>√√√2D√部分<5M2006.10 GraphCalc××× ×××√√×√×√×3D√部分<2M2003.11 TTCalc××××××√××√√×××××<2M2007.04 Super Calculator 2√×××××√××√××××××<0.5M2003.10 Octave× √×√××√√×√√√√3D2×√<140M2006.03 Ocatave Workshop<180M(含gnuplot,去除MingW)2006.02 Standalone Python +Scipy +Matplotlib (+wxPython)√ √√3√××√××√√√× × √ -3D×√<85M (+30M)2005.04 2007.04 2007.02 (2007.05) Yorick× √×√× ×√××√√√×3D×√<15M2007.03 R×√×√× ×√√×√√√×3D×√<60M2007.04 Scilab×√×√× ×√√×√√√√3D√√<130M2007.04 非便携 FreeMat×√×√√√√√×√√√√3D×√<30M2007.05 O-Matrix √ RLab 2001.07 RLabPlus 2006.07 注1: 绿色-原生支持,比如矩阵是Scilab的基本元素,可直接使用; 红色-原生不支持,比如python中使用矩阵需要numpy模块; 蓝色-部分原生支持; 空白-待考证 √-无论通过什么途径,总体而言支持; ×-总体而言,不支持 有理数:(1/4+1/3+1/5)*2*30==47? sin(0)/0=1 矩阵部分包含:矩阵是否内建数据类型、是否重载了运算符直接矩阵运算(与使用函数相对应) 图形输出指输出数据结果是图形格式还是文本格式 绘图中,支持3D的,亦支持2D; 函数绘图是值不通过求值,直接绘制函数; 高级控制指子图、ledgend、title、线型之类 注2: Eigenmath的手册里面有一段滑稽的解释,说明为什么应该使用dot函数而不是*运算符计算矩阵乘法:“the software normally reorders factors internally to optimize processing. For example, inv(A)*B in symbolic form is changed to B*inv(A) internally”——用户需要管它内部如何实现吗? Eigenmath提供了微分,那么应该可以正确计算sin(0)/0。 可惜作者没有留任何的联系方式,否则牡蛎一定会和他讨论一下的。 Octave通过gnuplot绘图。说实话,我觉得gnuplot绘制的图形有以前油印试卷上手绘的图形的感觉,不好看。 numpy.sinc(0)=sin(pi*0)/(pi*0)=1 Matplotlib新增加3D绘图功能,还不完善 (几何)画图板 除了上面的可以画图的计算器之外,还有别的选择: Surface Explorer 3D ZGraphic GeoGebra Crispy Plotter——提供了简单的函数和自定义函数、变量的方法。可以“听”一个函数的图形。Delphi的程序就是小巧啊 来源:http://blender./6292696.html |
|