个人工具
登录
查看“Maxima在线性代数的应用”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Maxima在线性代数的应用”的源代码
来自Ubuntu中文
←
Maxima在线性代数的应用
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
作者:蔡炎龍 原文:[http://math.nccu.edu.tw/~yenlung/mynotes/maximalinear_html html] 简体整理:dbzhang 本文:[http://maxima.sourceforge.net/docs/tutorial/cn/maxima_l_cn.pdf pdf] 状态:整理中... ==简介== 这篇文章,是介绍Maxima 这套数学软件,在学习线性代数的应用。 Maxima 是一个所谓的「电脑代数系统」(Computer Algebra System, CAS),这种系统比较为人熟知的还有Mathematica 和Maple 等等。我们选定Maxima 做为我们使用的程序,主要有三个原因: ;免费 : Maxima 是免费,又是各平台都有的。所有的人可以在自己的电脑上练习。 ;功能完整 : Maxima 虽然不要钱,并不代表不好。Maxima 不论计算或图形功能都十分完整。事实上,Maxima 是最早的全功能CAS 系统Macsyma 的后代。 ;具代表性 : 许多新的CAS 系统,如Maple, Mathematica 都多少受到Macsyma 的启发。所以学会Maxima,要学会Maple 或Mathematica 等软件都是很容易的事。 这篇文章主要是介绍线性代数相关功能。我们不假设同学已会基本的Maxima 使用方式,所以我们会用到的概念,也许不纯粹是线性代数的,也会一并介绍。专就线性代数而言,我们要会的其实并不多。想要快速进入状况,可以跳过前面的部份,直接看线性代数相关指令,在操作上有问题时,再回头看有问题部份的相关说明即可。 如果同学们比较喜欢使用Mathematica,Maple,或是Matlab 等商业软件也是可以的。我们系上的电脑室有提供这些软件,可以上机试用看看。 == 基本概念 == 我们先介绍一下Maxima 操作的方式。 === Maxima 当计算器 === 我们先来看,如果我们要把Maxima 当计算器用,会是什么情况? (%i1) 1+1; (%o1) 2 (%i2) 3*4*7; (%o2) 84 (%i3) 9/3; (%o3) 3 到目前为止,似乎还没什么特别。除了可以做复杂一点点的运算,和平常的计算机或数值计算软件也没什么不同。以下的例子就不一样了: (%i4) 7/3; 7 (%o4) - 3 (%i5) 1/2+2/3; 7 (%o5) - 6 从(%o4)我们看到,7/3这种运算,Maxima 不是告诉我们2.3333...,而是分数的形式!难道Maxima 真的懂分数?不要怀疑,这就是所谓电脑代数系统(CAS) 的特长。我们可以像(%o5)的例子一样,输入个分数的四则运算试试即知。 如果坚持要用浮点数,那只要加个float 指令即可: (%i6) float(7/3); (%o6) 2.333333333333334 为了完整,我们顺便再介绍指数,根号,阶乘表示法: (%i7) 2^10; (%o7) 1024 (%i8) sqrt(9); (%o8) 3 (%i9) 5!; 我们可以看出,这些运算不是自然的数学符号,就是和我们平常电脑程序语言的写法。 === 指令结尾=== 在上面的例子中,我们发现,在Maxima 下指令,结束时一定要打上分号「;」,让Maxima 知道我们下的指令已结束。为什么要多这一个动作,主要是为了有时打比较长的指令可以换行之故。另一个结束方式是打入「$」的符号。不同於分号的地方是「运算结果不会显示出来」: (%i10) 2+3$ (%i11) 2+3; (%o11) 5 有一些CAS 程序,如Matehmatica 是用分号表示不显示运算结果。不过Maxima 中分号已用上,必需用其他字符。 ===离开Maxima=== 离开Maxima 打入“quit();” 即可。 当然,很多人可能会觉得奇怪,为什么不是打入“quit” 就好了呢?原来像这种程序导向的语言,什么动作其实都是执行一个函数。所以我们事实上是执行一个叫「离开」的函数。这函数没有参数,所以就成了quit() 的形式。 === 结果的引用=== 我们时常会需要引用前面的结果,这时就用百分比符号“%” 。比方说: (%i12) 7/3; 7 (%o12) - 3 (%i13) float(%); (%o13) 2.333333333333334 Maxima 也可以指定使用第几个输出的结果,不过自己定一个标签可能是最好的方式。比方说,我们可以这样用: (%i14) myresult:34+(65*72)/119; 8726 (%o14) ---- 119 (%i15) float(myresult); (%o15) 73.32773109243698 ===重要常数=== Maxima 当然有内建e 或是π 常常用到的数,只是表示法奇怪一点。e 是%e 而π 是%pi 。 ===定义变量=== Maxima定义变量的想法有点特别,在定义一个变数时,其时是给某个数字、矩阵,或想要定义的任何式子等等一个标签。让我们来看几个例子: (%i16) a: 37; (%o16) 37 (%i17) a; (%o17) 37 (%i18) b: 22+100*(375-128); (%o18) 24722 (%i19) a+b; (%o19) 24759 ===函数=== Maxima 函数的定义和使用非常直觉,我们看几个例子就知道: (%i20) f(x) := 3*x^2+5; 2 (%o20) f(x) := 3 x + 5 (%i21) f(2); (%o21) 17 (%i22) g(x, y) := sin(x)*cos(y); (%o22) g(x, y) := sin(x) cos(y) (%i23) g(2*%pi, 4); (%o23) 0 重点就是,在定义函数时要用“:=” 去定义。比较一下和变数定义的不同,想想为什么要有两种不一样的定义方式。 == == == == == == == == == == == ==
返回至
Maxima在线性代数的应用
。