- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附录 Maple数学实验
Maple是目前世界上最为通用的数学和工程计算软件之一,Maple系建模和仿4GL语言等,内置超过5000个计算命令,数学和分析功能覆盖几乎所有的数学分支,如微分方程、特殊函数、线性代数、图像声音处理、统计和动力系统等.
Maple不仅仅提供编程工具,更重要的是提供数学知识.Maple都可以从简单的数字计算到高度复杂的非线性问题,用户通过Maple产品可以在单一的环境中完成多领域物理系统建模和仿真、符号计算、数值计算、程序设计、技术文件、报告演示、算法开发、外部程序连接等功能,满足各个层次用户的需要,从高中学生到高级研究人员.Maple软件后,启动Maple进入默认的用户主界面,该界面包括两个主要的窗口:命令窗口(Command directory),工具窗口(Tool directory),如图5.1所示.
图5.1 用户主界面
图5.2 命令窗口
命令窗口是和其编译程序连接在一起的主要窗口,点击工具栏中“[”提示符后, Maple就处于准备状态,在提示符后输入正确的的运算表达式后,只需按工具栏的“!”工具(或Enter键),命令窗口就会显示运算结果,如图5.2所示.
Maple语言和其他高级程序设计语言一样,都具有类似的基本程序结构,不管多复杂的计算都是由一系列语句组成,这些语句有的是顺序依次执行的,有的需在特定的地方循环、选择、跳转执行.下面逐一介绍这些基本结构.
1.顺序结构
顺序结构,是程序语句书写的先后顺序,是流程控制语句中最简单的一类。
2.选择结构
所谓选择结构,常称为分支结构,是指在程序执行时,依据不同的条件,从两个或多个程序块中选择其中一个执行.if条件结构的语法为:
if 条件1 then 程序块1;
elif 条件2 then 程序块2;
else 程序块3;
fi;
其中,fi是条件语句的结束标志,也可以写作end if.
此语句是一个三分支结构.若条件1为真,则执行程序块1;若条件1为假,条件2为真,则执行程序块2;若条件1和条件2都为假,则执行程序块3.
例如,判断两个数中较大者:
bigger:=proc(a,b)
if a=b then a;
else b;
fi;
end;
bigger(3,5); #函数调用
运行以上程序后结果为:5
3.for循环
在程序设计中,常常需要把相同或者类似的语句连续执行多次,此时,可以通过for循环结构更便捷地编写程序.
例如,求1至5自然数的和:
total:=0;
for i from 1 to 5 do
total:=total+i;
od; #循环体的结束标志od(也可以写作end do).
其中,i为循环变量,用于控制循环次数;do与od之间的一条或多条语句,称为循环体,是要反复执行的语句. for循环结构的语法可总结为:
for 循环变量 from初值 to终值 [by步长] do 循环体 od
在for循环结构中,初值和终值一般是整数,若初始值或步长是1则都可以省略.
4.while循环
for循环是在那些已知循环次数,或者循环次数可以用简单表达式计算的情况下比较适用.但有时循环次数并不能简单地给出,要通过计算,判断是否继续循环,这时,可以使用while循环.while循环标准结构为:
while条件表达式do 循环体 od
Maple先判断条件是否成立,若成立就一遍遍执行循环体,直到条件不成立为止.
例如,辗转相除法计算两个自然数的最大公约数.
GCD:=proc(a::posint,b::posint)
local p,q,r;
p:=max(a,b); q:=min(a,b); r:=irem(p,q);
while r0 do
p:=q; q:=r; r:=irem(p,q);
od;
q;
end;
GCD(6,9);
运行以上程序后结果为: 3
5.递归子程序
正如在一个子程序中可以调用其他的子程序一样(比如系统内部函数),一个子程序也可以在它的内部调用它自己,这样的子程序称为递归子程序.
例如,递归定义Fibonacci数列:
fib:=proc (a::posint)
local i,x;
if a=1 or a=2 then x:=1;
else x:= fib(a-1)+ fib(a-2); #递归调用
fi
end;
fib(10); #调用该函数,输出Fibonacci数列的第10项
运行结果为:55
实验一 矩阵的输入与特殊矩阵生成
1.矩阵输入
建立矩阵的方法主要有:
matrix(m,n,[a11,a12,…a1n,a21,…a2n,…,a
文档评论(0)