Maxima(计算机代数系统)

大小:156.99M 类别:
  • 文理工具

官方安全无插件纠错

  • 更新时间2023-10-31
  • 版本v5.47.0
  • 系统Pc
  • 语言简体中文

Maxima是一款采用LISP编写计算机代数系统可以帮助你在电脑上分析函数的工具,在最初的运算中,软件主要用于计算代数,因此您也可以将其看作是一个计算机代数运算系统,经过多年的发展,该软件的功能已经非常强大了,并不仅仅是运算那么简单;Maxima现在已经广泛运用于高级函数分析,支持初等函数、代数、常量、变量、矩阵、微分、积分、等方面的分析,让数学研究方面的朋友可以获得一个更加智能的计算工具,同时该软件在绘制函数图像方面的功能也是非常先进的,支持二维作图、数据作图。

官方介绍

Maxima 的前身是DOE-Macsyma 。DOE-Macsyma 是由麻省理工学院(MIT)在美国能源部的支持下于60年代末创造的一中 CAS ,它是用 LISP 实现的。Macsyma在当时是非常创新的软件。现在流行的商业计算机代数系统软件Maple及Mathematica,都是受到Macsyma的启发而设计出来的。MIT 1982年的时候决定把 Macsyma 变成一个关闭源码的程序,Macsyma 走上商业化的道路,于是产生了很多 Macsyma 的分支。自1982年开始,Bill Schelter教授默默地开始开发一个开放源码版的Macsyma,他把这个软件叫做Maxima。因为版权的问题,Maxima一直不能公开发行,只有少数人知道有这个软件的存在。1998年,Maxima终于得到公开发行的许可,这已是Schelter教授努力了16年之后的事。Schelter教授在2001年去世,不过已经正式成为合法开放源码软件,因此陆续有支持开放源码的程序设计师,学者投入Maxima的开发工作。Maxima原本是纯文字界面,这在数学式子的显示上就没有Maple或Mathematica等软件来得美观。不过Maxima也有几种图形界面。第一个选择是使用GNU的TeXmacs。TeXmacs是一套所见即所得的文书处理程序,可以很方便的编辑数学式子。它同时也提供许多数学软件一个美观的界面,Maxima就是其中之一。其他可能的选择还有wxMaxima, imaxima等等。

软件功能

1、最大值

Maxima是全功能的计算机代数系统(CAS)。CAS是一个程序,可以通过重新排列公式并找到解决问题的公式来解决数学问题,而不仅仅是输出结果的数值。换句话说,Maxima 可以作为一个计算器,给出变量的数值表示,也可以提供分析解决方案。此外,它还提供了一系列不能解析解的等式或方程组的数值分析方法。

2、waxMaxima

wxMaxima是一个图形用户界面,提供Maxima的全部功能和灵活性。 wxMaxima为用户提供了图形显示和许多功能,使Maxima更容易使用。例如,wxMaxima允许一个简单的右键点击导出任何单元格的内容(或者,如果需要,公式的任何部分)作为文本,LaTeX或MathML规范。事实上,整个工作簿可以导出为HTML文件或LaTeX文件。wxMaxima的文档,包括用于说明其使用方面的工作簿,可以在wxMaxima 帮助站点以及帮助菜单中进行在线。

3、水平和垂直光标

有时希望允许选择多个单元格或只允许单元格的一部分用于导出或拖放。然而,在一个单元格的中间开始这样的一个动作并将其结束在另一个单元格的中间几乎肯定会导致意想不到的结果。因此,在这种情况下,waxMaxima将把选择扩展到完整的单元格。

wxMaxima通过定义两种类型的游标来提供拖放的灵活性。wxMaxima将在需要时自动切换:

-能够选择任意数量的全部单元格的水平光标。通过在两个单元格之间移动光标或单击两个单元格之间的空格来激活该光标。要选择一组相邻单元格,请单击顶部单元格左侧(但不在三角形内)的括号中,然后拖动光标,以便突出显示该单元格和下一单元格(或单元格范围)。然后使用ctrl + enter 或shift + enter来执行突出显示的单元格。

-在单元格内工作的垂直光标。通过使用鼠标指针或光标键移动单元格内的光标来激活该光标,并且在文本编辑器中与光标非常相似。

只要光标在单元格内部,搜索操作将会将其范围限制在当前单元格中。

4、命令自动完成

wxMaxima包含通过菜单(单元格/完成字)触发的自动完成功能,或者通过按下组合键Ctrl + k。自动完成是上下文相关的,如果在ezUnits的单位规范内激活,它将提供适用单位的列表。除了完成当前命令或变量的名称之外,自动完成能够显示大多数命令的模板,指示该程序期望的参数的类型(和含义)。要激活此功能,请按Shift + Ctrl + k或选择相应的菜单项(单元格/显示模板),下图中的样式需要下载TeXmacs。

5、内含MAXIMA的教程

在图形界面的wxmaxima中选择帮助,可以直接查看官网或查看下载包里教程文件夹,双击.wxm后缀的文件则直接在MAXIMA中打开,注意,它们都是英文的。

软件特色

作图

Maxima调用外 部程序来实现 作图,默认 的外部程序是Gnuplot。Gnuplot是一个 很强大的基于 命令行的函数及数 据作图程序 ,集成了计算 、拟合、脚 本编程等功能 ,包括Maxima,Octave等在 内的一些软件均使用Gnuplot作为 后台程序实现作 图功能。对于那 些经常用到数学 作图的用户, 我建议直接使用Gnuplot,因为它有更灵活的设置和更强大的功能。

特殊函数

Maxima提供有 常用的特殊函数 。这里不介绍每 个函数的具体 用法,可以参考 任何一本数理 方程教材

边值问题

函数bc2(solution,xval_1,yval_1,xval_2,yval_2)用来 求解二 阶微分方 程的边 值问题 ,其中solution是ode2解得 的通 解,xval_1、yval_1xval_2和yval_2分别 为自 变量和 因变 量在第 一点和第二点的取值

一阶或二阶常微分方程通解

(eqn, dvar, ivar)函数用来解一阶或者二阶常 微分方程,其中eqn是待解方程,dvar是因变量,ivar是自变量。

对角矩阵

对于具 有相 同元 素的 对角 矩阵 ,还 有更 简便的 输入 方法 。diagmatrix (n, x)函数返 回一 个对 角元素 为x的n × n对 角矩 阵。单 位矩 阵 可以 用diagmatrix (n, 1)表 示 。另 外, 单位 矩 阵还 可以 通过ident (n)获得

交互式输入

使用entermatrix(m,n)函数可以 进行交互式的矩阵 输入,Maxima将每 个元素一一读入。 如果行列维数相同,Maxima会主动询问 矩阵是否为对 角、对称、反对 称或者一般矩 阵,这样可以 有效减少输入次数

使用教程

1、把Maxima当做计算器用

你可以把Maxima当作一个快速的并且可靠的计算器用。它的精度在计算机硬件的限度内可以是任意的。跟很多编程语言一样,在Maxima,你需要输入一个或者多个指令和表达式,并以分号"$$"分隔。

(%i1) 9+7;

(%o1) 16

(%i2) -17*19;

(%o2) -323

(%i3) 10/2;

(%o3) 5

上一次计算的结果可以用“%”符号来表示,而且之前的任意一次的输入和输出可以通过符号 “%i”(输出)或者“%o”(输出)来表示。

(%i4) % - 10;

(%o4) -5

(%i5) %o1 * 3;

(%o5) 48

简单一点,从这里起,我们将会省略掉那些标有号码的输入和输出,并且用 a => sign 来表示输出。分数情况下,分子和分母都是整数的情况下,maxima会返回一个相应的简化的分数或者一个整数。这些可以通过一些使用“float”方法来验证(或者bfloat,在大的浮点数字的情况下):

8/2;

=> 4

8/2.0;

=> 4.0

2/6;

=> displaystyle frac{1}{3}

float(1/3);

=> 0.33333333333333

1/3.0;

=> 0.33333333333333

26/4;

=> displaystyle frac{13}{2}

float(26/4);

=> 6.5

如上所述,在这里,大数值的数字不是个问题:

13^26;

=> 91733330193268616658399616009

13.0^26

=> displaystyle 9.1733330193268623text{ }10^_{+28}

30!;

=> 265252859812191058636308480000000

float((7/3)^35);

=> displaystyle 7.5715969098311943text{ }10^_{+12}

一些定量和常见的方程

这里是一些常见的定量数值,在日常使用中会经常用到:

%e - Euler’s Number

%pi - displaystyle pi

%phi - the golden mean (displaystyle frac{1+sqrt{5}}{2})

%i - the imaginary unit (displaystyle sqrt{-1})

inf - real positive infinity (infty)

minf - real minus infinity (-infty)

infinity - complex infinity

我们可以用它们中的一些在一些常见的方程里:

sin(%pi/2) + cos(%pi/3);

=> displaystyle frac{3}{2}

tan(%pi/3) * cot(%pi/3);

=> 1

float(sec(%pi/3) + csc(%pi/3));

=> 3.154700538379252

sqrt(81);

=> 9

log(%e);

=> 1

2、声明定义方程和变量

变量可以用一个冒号来赋值,而方程需要用":="来定义。以下的程序是用来演示怎么去使用它们:

a:7; b:8;

=> 7

=> 8

sqrt(a^2+b^2);

=> sqrt{113}

f(x):= x^2 -x + 1;

=> x^2 -x + 1

f(3);

=> 7

f(a);

=> 43

f(b);

=> 57

请注意,Maxima只提供自然对数计算功能 log. 默认情况下,不提供 log10,但是你可以自己定义,如下:

log10(x):= log(x)/log(10);

=> displaystyle log10(x):=frac{log(x)}{log(10)};

log10(10)

=> 1

3、符号计算方法

我们可以使用 factor 来进行因数分解:

factor(30!);

=> displaystyle 2^{26},3^{14},5^7,7^4,11^2,13^2,17,19,23,29

或者多项式的因子计算

factor(x^2 + x -6);

=> (x-2)(x+3)

然后,展开

expand((x+3)^4);

=> displaystyle x^4+12,x^3+54,x^2+108,x+81

简化有理数表达式:

ratsimp((x^2-1)/(x+1));

=> x-1

简化三角方程:

trigsimp(2*cos(x)^2 + sin(x)^2);

=> displaystyle cos ^2x+1

类似的,展开三角表达方程:

trigexpand(sin(2*x)+cos(2*x));

=> displaystyle -sin ^2x+2,cos x,sin x+cos ^2x

请注意,2x在Maxima中不是乘法表达式,相应的,它要求明确使用 2*x。如果你想使用TeX来生成相应的表达式,你可以使用方程tex:

tex(%);

=> $$-sin ^2x+2,cos x,sin x+cos ^2x$$

4、公式求解

我们可以用方程“solve”轻松的解一个,或者一组公式:

solve(x^2-4,x);

=> displaystyle left[ x=-2 , x=2 right]

%[2]

=> x=2

solve(x^3=1,x);

=> displaystyle left[ x={{sqrt{3},i-1}over{2}} , x=-{{sqrt{3},i+1}over{2}} , x=1 right]

trigsimp(solve([cos(x)^2-x=2-sin(x)^2], [x]));

=> displaystyle left[ x=-1 right]

solve([x - 2*y = 14, x + 3*y = 9],[x,y]);

=> left[ left[ x=12 , y=-1 right] right]

5、二维和三维画图

Maxima提供了二维和三维画图功能,并且有更多的功能在同一个图表里。"plot2d"和"plot3d"用起来非常直接。第二个(或者第三个,在使用plot3d的时候)参数就是一系列x(和y)的数值,用来定义画图的取值范围。

plot2d(x^2-x+3,[x,-10,10]);

plot2d([x^2, x^3, x^4 -x +1] ,[x,-10,10]);

f(x,y):= sin(x) + cos(y);

plot3d(f(x,y), [x,-5,5], [y,-5,5]);

6、极限

limit((1+1/x)^x,x,inf);

=> %e

limit(sin(x)/x,x,0);

=> 1

limit(2*(x^2-4)/(x-2),x,2);

=> 8

limit(log(x),x,0,plus);

=> -infty

limit(sqrt(-x)/x,x,0,minus);

=> -infty

7、微分

diff(sin(x), x);

=> displaystyle cos(x)

diff(x^x, x);

=> displaystyle x^{x},left(log x+1right)

我们能使用一个任选的数字来定义微分计算的阶数,从而来计算更高阶的微分方程:

diff(tan(x), x, 4);

=> displaystyle 8,sec ^2x,tan ^3x+16,sec ^4x,tan x

8、积分

Maxima提供了一些类型的几分计算。当计算不定积分时候:

integrate(1/x, x);

=> displaystyle log(x)

定积分的情况下,只需要把后两个参数定义成积分的范围:

integrate(x+2/(x -3), x, 0,1);

=> displaystyle -2,log 3+2,log 2+{{1}over{2}}

integrate(%e^(-x^2),x,minf,inf);

=> sqrt{% pi}

如果方程integrate不能计算一个积分的时候,你可以运行数值计算,用一个合适的方程(例如:romberg):

romberg(cos(sin(x+1)), x, 0, 1);

=> 0.57591750059682

9、累加和累乘

sum 和 product 是用于计算累加和累乘的方法。当需要简化结果的时候,可以使用simpsum选项。注意,你也可以用product来定义你自己的方程。

sum(k, k, 1, n);

=> displaystyle sum_{k=1}^{n}{k}

sum(k, k, 1, n), simpsum;

=> displaystyle {{n^2+n}over{2}}

sum(1/k^4, k, 1, inf), simpsum;

=> displaystyle {{%pi^{4}}over{90}}

fact(n):=product(k, k, 1, n);

=> fact(n):=product(k,k,1,n)

fact(10);

=>3628800

10、展开级数

级数展开可以通过方法taylor来进行(最后一个参数用于定义展开深度),或者用powerseries:

niceindices(powerseries(%e^x, x, 0));

=> displaystyle sum_{i=0}^{infty }{{{x^{i}}over{i!}}}

taylor(%e^x, x, 0, 5);

=> displaystyle 1+x+{{x^2}over{2}}+{{x^3}over{6}}+{{x^4}over{24}}+{{x^5}over{120 }}+cdots

当taylor的输出需要用图形表示的时候,trunc方法和plot2d一起使用(去解决泰勒级数尾部输出的+cdots符号问题):

plot2d([trunc(%), %e^x], [x,-5,5]);

展开内容

类似软件

  • geogebra6(动态数学软件)

    9.1/127.12M

    动态数学教育软件

    查看
  • 小学生口算题生成器电脑版

    9.0/3.97M

    小学生口算题生成器电脑版是一款很方便的四则运算口表生成器。它可一次性生成仅百个算式,包括加法、减法、加减混合和乘法等七种算法,可帮助小学生逐步提升笔算、口算及心算能力。

    查看
  • 诗歌超级助手官方版

    9.0/4.69M

    诗歌超级助手是一款很好用的诗歌自动生成器。它可以帮助用户自动生成抒情、赞美、魔幻、诡异和抽象等类型的诗歌,可以自动创建多种风格的现代诗歌,还可以让其辅助你创建诗歌,为你提供美妙的创作思路。

    查看
  • 诗词快车官方版

    9.0/25.59M

    诗词快车是一款非常强大的诗词创作软件,为用户提供了丰富的对联、绝句、律诗等等规格及范例,让我们的用户能够轻松的创作出想要的古诗词,并且还能够根据需要自行在手残栏目中添加或修改新格律。

    查看

网友评论

0人参与,0条评论
  • 评论需审核后才能显示

同类排行

  • Stata 18中文版

    0.0/671.18M

    强大的统计分析软件

    查看
  • 排班表软件

    9.1/4.16M

    排班表软件是一款简单易用的排版软件,可按周或按月排版,它具有排版可用下拉菜单、表格可自动排版、公式/计算/验算均可自动完成等优势。通过它,您可随时增版加减人员,甚至可在同组人员放置相近位置下进行组排班,另外与其他的排版软件相比,它最大的不同在于“它有着完全属于自己的数据库,因此它

    查看
  • 数学插图软件(math illustrations)

    9.0/48.16M

    数学插图(math illustrations)是一款数学辅助绘图工具。非常的方便。我们知道数学这门课程有很多比较抽象的地方,需要作图才能很好的解释清楚。但是如果通过板书非常的耗费时间,而且效果不是很好。

    查看
  • geogebra6(动态数学软件)

    9.1/127.12M

    动态数学教育软件

    查看
  • 小学生口算题生成器电脑版

    9.0/3.97M

    小学生口算题生成器电脑版是一款很方便的四则运算口表生成器。它可一次性生成仅百个算式,包括加法、减法、加减混合和乘法等七种算法,可帮助小学生逐步提升笔算、口算及心算能力。

    查看
  • 小明计算器官方版

    9.1/1.02M

    小明计算器官方版是一款先进的计算器,它集基本运算、科学运算、扩展运算等功能于一身。小明计算器是市面上计算器各大优点的一款强大的科学型计算器。符合国人的思维逻辑。例如:市面上的计算器在计算sin45时,必须先输入45再输入sin,而小明计算器可直接输入sin再输入45。

    查看
  • eduoffice电子白板软件

    9.0/60.82M

    eduoffice电子白板软件是一款非常专业的老师集成化教学工具平台,现在多媒体教室基本上已经普及了,常规的教课模式已不能满足学生的知识需求了。所以eduoffice电子白板软件就很能很好的帮助各位老师,eduoffice电子白板软件有非常多且功能丰富的教学工具。

    查看
  • 博学宝教学助手

    9.0/20.11M

    博学宝教学助手是由博学宝官方出品的一款集授课、备课等功能于一体的教学辅助软件。该软件为教师们提供了高效的视频课堂授课服务,包括课堂互动、课件制作等一系列功能。博学宝教学助手的特点包括专项培优、家校互动、同步预习、高效教学、测评反馈和我要提问等功能。

    查看
  • NoteFirst(文献管理软件)

    9.1/116.11M

    NoteFirst(文献管理软件)是一款功能强大、操作简单、实用性强的文献资料管理工具。NoteFirst软件功能非常强大,不仅提供文献管理功能,还提供论文写作帮助、科研协作交流以及学术信息搜索等功能,可以帮助用户更好的进行论文写作。

    查看
  • StataCorp Stata 16中文版

    8.7/677.97M

    Stata 16全称StataCorp Stata 16,这是一款集合了数据分析、数据管理以及绘制专业图表等多种功能于一体的数据统计分析软件,主要用于管理、分析和绘制定量数据,能够执行各种统计分析。

    查看
  • 德威几何尺

    10.0/616K

    德威几何尺是一款非常好用的几何教具仿真软件,功能强大,拥有三角板、直尺、量角器等,使用起来简单方便。它既可方便用于长度、角度的测量,也可便利地进行直线、弧线等的绘制。

    查看
  • 仿真物理实验室电脑版

    8.9/11.27M

    仿真物理实验室电脑版是一款面向中学物理课堂、物理教师和学生的一个全开放性的物理实验仿真最新软件,它与常规的物理教学软件不同在于:不是单纯演示几个现成的实验,而是提供一个实验器具完备的综合性实验室,您可以亲自动手创建您所能想象的所有实验(高能物理除外)。

    查看
  • 论文抄袭检测大师系统

    9.0/4.55M

    论文抄袭检测大师是一款论文反剽窃系统,论文反抄袭,论文抄袭检测软件,论文查重软件,能够对比论文源文档和目标文档的相似性给出相似度结果的一种信息处理系统,由武汉大学信息管理学院出版科学系教师沈阳副教授研发的ROST 文档相似性检测工具可以有效检测论文的抄袭相似情况。

    查看
  • 稻香居便携作诗机

    9.1/13.69M

    稻香居便携作诗机是一款可以帮助喜爱诗词的朋友自己作诗的作诗辅助工具,使用该工具可以帮助你快速成诗,方便快捷,让用户轻松写诗,操作简单。该软件充分吸收了一些大型文科工具的作诗理念,使用灵活,操作简单,能够独立完成古诗词爱好者开展的各种作诗需求,高效、实用。

    查看
  • 棒棒糖小学数学出题机

    9.1/11.14M

    相比各位家伙和小学数学老师最头疼的就是如何检测孩子的成绩,习题是检测成绩的唯一标准,但传统的手写习题会浪费大量的时间,因此小编为大家带来了便携的棒棒糖小学数学出题机,该软件是一款专门针对小学生数学所推出的一款自动出题软件,通过它,可以一键的进行生成习题考卷,支持加法、减法、乘法、

    查看