现在有大量的开源软件提供工程数学功能,并且节省了开支。
利兰·特施勒•执行主编
早在1999年,火星气候轨道飞行器(Mars Climate Orbiter)就登上了新闻头条,当时它沿轨道接近火星,由于距离火星太近,结果要么在火星大气层中被毁,要么绕着太阳运行。引起公众注意的与其说是失败的任务,不如说是失败的原因:一项调查发现两个软件系统之间的测量不匹配。NASA使用公制单位,而宇宙飞船制造商洛克希德·马丁公司使用英语单位。
如果在轨道飞行器上工作的工程师能够使用今天的工程数学软件,航天器可能仍然在绕着红色星球飞行。这是因为这类软件经常支持所有的度量单位,允许英语和公制单位毫无畏惧地混合在等式中。一般来说,软件用户可以自由地添加方程、文本和图像。在许多包中,方程以类似于电子表格的方式进行实时链接,因此当某些内容发生变化时,它们的值会更新。
令人高兴的是,许多这样的工程软件包现在都可以免费或接近免费。开发这些开源程序的动机似乎是希望找到低成本的替代方案,以取代已建立的数学软件包,如MathCad、Maple和Maple Flow。MathCad的最新版本称为MathCad Prime,首次发布于1986年,目前可通过商业许可订阅,通常每年支付约700美元。Maple或Maple Flow的单座票价约为2400美元。
与这些商业软件包相似的功能的免费替代品包括SMath工作室.用户说它的行为很像老一代的MathCad。与这个类别中的其他包一样,SMath也会跟踪单元。例如,假设您要求程序求解X + y = z告诉它X在脚上Y以米为单位。SMath知道的足够多,可以自动转换不同的单位,因此Z这与他们是一致的。
在所见即所得SMath程序中给出了一些示例问题。
用户表示,该程序的用户界面类似于过去的图形计算器。虽然没有单独的帮助文件,但是可以从SMath站点获得关于各种数学形式的教程(SMath for Physics),这足以让大多数用户启动并运行。该程序将每个等式框起来并进行求解,自动为输入的数据提供一些组织。此外,该程序还提供了一个可按名称插入的函数下拉菜单,这对知道方程名称但不知道如何编写的用户很有用。
用户表示,SMath与MathCad的最新版本(现在称为MathCad Prime)之间的主要区别似乎在于MathCad Prime包含了协作功能。此外,Prime似乎更擅长处理大型方程组。
Matlab商业分析程序至少有两个免费的选择,GNU Octave和Scilab.由Mathworks开发,Matlab被称为专有的多范式编程语言和数值计算环境。它在处理繁重的数值计算任务方面享有盛誉,允许矩阵操作、函数和数据绘图、算法实现和用户界面创建。我们提供了一个可选的工具箱将MuPAD符号引擎用于符号计算。另一个名为Simulink的软件包为动态和嵌入式系统添加了图形多域仿真和基于模型的设计。
Matlab使用自己的编程语言,因此方程式的输入不像SMath这样的程序那样直观。但Matlab支持高级功能,如面向对象编程,可以调用用C或Fortran编写的函数和子程序。目前Matlab的永久许可证价格为2150美元,年许可证价格为860美元。
在Scilab中完成的数据可视化,它提供图形功能来创建直线、饼图、直方图、曲面等。
与Matlab一样,Scilab也提供了许多工具箱,用于处理图像处理和小波等特定领域的任务。Scilab最初于1990年发布,自2016年以来,可以嵌入浏览器中,并通过Scilab编写的接口或API调用。这种新的部署方法据说具有屏蔽代码和ata以及提供对大型计算能力的访问。
另一个受Matlab启发的免费程序是弗里马.FreeMat的主页说,该程序被特许超越Matlab,包括外部C/ c++ /Fortran代码的无代码接口,并行/分布式算法开发,以及先进的体积和3D可视化功能。据说FreeMat支持Matlab中大约95%的特性,但不支持GUI/Widgets。FreeMat网站也表示,这一功能正在开发中,但FreeMat的最后一次发布似乎是在2013年。
数学助手
除了面向工程的程序外,还有许多专注于代数和微积分的免费软件包。这些软件可能缺乏Matlab和mathcad启发的免费软件所具有的特定于领域的编程帮助和单元认知。但它们可以帮助解决复杂的数学问题。
这个免费的数学软件可能具有最大的计算能力,对于那些熟练使用Python语言编程的人来说是有用的。科学巨蟒是Python编程语言的科学工具的开源库。然而,截至撰写本文之时,它自2014年以来就没有更新过。该库包括数学工具,如对任意数量变量的任何顺序的函数进行微分;数值积分;数值求根的Newton-Raphson方法非线性最小二乘拟合;以及其他一些功能。
另一个Python资源是SciPy.这是另一个包含优化、线性代数、积分、插值、特殊函数、fft、信号和图像处理、微分方程求解和其他在科学和工程中常见的任务模块的库。
萨杰马斯(Sage或Sage, System for Algebra and Geometry experiments)是一个计算机代数系统,涵盖了数学的许多方面,包括代数、组合学、图论、数值分析、数论、微积分和统计学。它建立在其他几个开源Python包的基础上,包括SciPy和更多。它通过通用的、基于python的语言或直接通过接口或包装器访问它们。
还有许多其他的免费数学程序,目标略低一些,计算。但是一个叫SpeQ包括与MathCad等程序一样的单元支持,因此用户不必担心输入正确的转换因子。所有计算都输入到工作表UI中。用户可以定义自定义变量和函数,并将结果图形化。该程序可以用算术、条件、逻辑和位操作符表达计算,包括大约100个内置的数学、物理和条件常量。大约有60个内置函数用于分析、算术、复数、双曲函数、统计、三角函数等。
这个欧拉数学工具箱也受到Matlab的启发,但语法并不完全兼容。像Matlab一样,欧拉是一种矩阵语言,设计用于处理向量和矩阵,在大多数情况下没有显式循环。欧拉在另一个叫做Maxima的自由程序的帮助下进行符号数学运算。有一件好事:Euler仍在积极开发中,今年早些时候发布了两个更新。
“数学机制”让用户可以像在纸上写一样输入方程式。它包括一个科学计算器和一个集成的变量和函数列表窗口,以简化跟踪定义的变量和函数。它还可以生成它所建模的功能的3D图形。
Math Mechanix还提供了一个包含280多个嵌入函数的库,这些函数包括普通数学、trig、化学、几何、统计学等。微积分实用程序包含一个用于单积分、双积分和三积分的数值积分模块,以及一个用于单微分、双微分和三微分的数值微分模块。DW
您可能还喜欢:
了下:技术+产品,所有行业,产品设计,软件









