Maxima是一款采用LISP编写计算机代数系统可以帮助你在电脑上分析函数的工具,在最初的运算中,软件主要用于计算代数,因此您也可以将其看作是一个计算机代数运算系统,经过多年的发展,该软件的功能已经非常强大了,并不仅仅是运算那么简单;Maxima现在已经广泛运用于高级函数分析,支持初等函数、代数、常量、变量、矩阵、微分、积分、等方面的分析,让数学研究方面的朋友可以获得一个更加智能的计算工具,同时该软件在绘制函数图像方面的功能也是非常先进的,支持二维作图、数据作图。
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]);
展开内容
查看
9.1/118.14M
国学精选电脑版是一款由国学大师出品的国学经典查询和释义软件,也是一套中等规模的古籍丛书,专为中学生及文史专业研究人员制作。其精选了先秦至晚清二千多年中国文化史上具有代表性的名著240部,并按传统的经、史、子、集四部分类法编排,涉及文学、艺术、历史、地理、科技、蒙学等。
9.1/2.78M
老文头小学数学出题机是一款非常实用的出题软件,一键智能出题,支持各种加减乘除算法,可以随机进行编辑,一键就可以直接生成数学题目,给家长或老师提供很大的帮助。你还可以根据孩子目前的学习情况设置运算符和题目范围,通过软件快速生成100道题目,从而将其打印给自己的孩子练习,锻炼小孩的运
9.1/2.37M
星星排课系统官方版是一款实用的教学排课软件。能用于小学、中学、职业中学、普通高中、新课程高中、学分制高校排课。班级、年级、科目数量不限,老师可跨学科、跨年级排课。还能按年级或个人分别设置每周课时,有固定课设置,科目可分别设置最佳上课时段,使用场地可量化设定。另外,还能排好合班和大
8.9/5.62M
化学金排官方版是一款专门为化学工作者定制基于Word的一套专业化学排版辅助工具,利用这款软件用户能够轻松实现化学中常用的同位素输入、原子结构示意图、电子式等等的输入,是一款非常不错的试验模拟软件,也是化学教育的不错辅助工具。
9.1/17.34M
微软数学软件是一套非常强大的数学工具。拥有非常丰富的数学计算功能。无论是初等数学,还是高等数学都全部覆盖。通过它,学生可以在更好地了解预代数、代数、三角法、物理学、化学和微积分方面的基本概念的同时,学会分步解方程。
9.0/52.31M
geogebra经典5官方版是一款结合「几何」、「代数」与「微积分」的动态数学软件,它是由美国佛罗里达州亚特兰大学的数学教授 Markus Hohenwarter 所设计的。
8.9/11.27M
仿真物理实验室电脑版是一款面向中学物理课堂、物理教师和学生的一个全开放性的物理实验仿真最新软件,它与常规的物理教学软件不同在于:不是单纯演示几个现成的实验,而是提供一个实验器具完备的综合性实验室,您可以亲自动手创建您所能想象的所有实验(高能物理除外)。
8.7/677.97M
Stata 16全称StataCorp Stata 16,这是一款集合了数据分析、数据管理以及绘制专业图表等多种功能于一体的数据统计分析软件,主要用于管理、分析和绘制定量数据,能够执行各种统计分析。
9.0/3.97M
小学生口算题生成器电脑版是一款很方便的四则运算口表生成器。它可一次性生成仅百个算式,包括加法、减法、加减混合和乘法等七种算法,可帮助小学生逐步提升笔算、口算及心算能力。
查看
9.0/72.5M
efofex fx draw是一款非常好用的数学绘图工具,虽然没有我们的MATLAB那么功能多样且强大,但是胜在体积小巧,而且功能也比较精确,主要是为了方便教师进行方便的数学教学而设计的,所以虽然功能不多,但是却能够让学生快速的理解和学会使用,老师也能够节省找各种工具的时间,提高
9.1/2.37M
星星排课系统官方版是一款实用的教学排课软件。能用于小学、中学、职业中学、普通高中、新课程高中、学分制高校排课。班级、年级、科目数量不限,老师可跨学科、跨年级排课。还能按年级或个人分别设置每周课时,有固定课设置,科目可分别设置最佳上课时段,使用场地可量化设定。另外,还能排好合班和大
9.1/53.13M
FreeMat官方版是一款功能强大、操作简单的科学计算软件,主要用于数模竞赛、社会实践、课程学习中所涉及到的数据处理,其软件的功能和指令与Matlab有Octave都非常接近相似的。
Vocabulary Worksheet Factory(词汇表生成工具)
9.1/39.86M
Vocabulary Worksheet Factory是schoolhous推出的一款功能强大的免费的词汇工作表工厂工具,能通过词汇创建具有挑战性和激励性的工作表活动来提高和加强学生的词汇能力,是任何科目中拼写,语言艺术,ESL指导和词汇丰富的理想源泉。
9.1/116.11M
NoteFirst(文献管理软件)是一款功能强大、操作简单、实用性强的文献资料管理工具。NoteFirst软件功能非常强大,不仅提供文献管理功能,还提供论文写作帮助、科研协作交流以及学术信息搜索等功能,可以帮助用户更好的进行论文写作。
9.0/48.16M
数学插图(math illustrations)是一款数学辅助绘图工具。非常的方便。我们知道数学这门课程有很多比较抽象的地方,需要作图才能很好的解释清楚。但是如果通过板书非常的耗费时间,而且效果不是很好。
9.0/7K
解方程计算器是一个简易的方程式计算工具,可帮助用户精确地获得准确的X值,支持一元一次方程和二元一次方程的计算。解方程计算器软件使用简单,用户只需输入一个完整的方程式,即可快速获得相应的X值,且用户无需担心它占用电脑太多的内存即可获得相应的值,同时程序可保证所得到的X值数据准确无误
9.1/1.57M
小数数学计算题出题器是一款专门为小学生批量生成数学题目的辅助工具,可以给小学的孩子们出题练习算术,还有学霸模式,学霸模式请自备草稿纸。软件拥有海量的出题方案,直接一键就可以出题,为老师以及家长省下了不少麻烦事,并且软件内存占用也非常小,值得拥有。