资源描述:
《线性代数Maple实验梁燕来,胡源艳》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、附录Maple数学实验Maple是目前世界上最为通用的数学和工程计算软件之一,Maple系统内置高级技术解决建模和仿真中的数学问题,包括I比界上最强大的符号计算、无限精度数值计算、创新的互联网连接、强大的4GL语言等,内置超过5000个计算命令,数学和分析功能覆盖儿乎所有的数学分支,如微分方程、特殊函数、线性代数、图像声音处理、统计和动力系统等.Maple不仅仅提供编程工具,更重要的是提供数学知识.Maple都可以帮助您快速、高效地解决类似从简单的数字计算到高度复杂的非线性问题等,用户通过Maple产品可以在单一的环
2、境中完成多领域物理系统建模和仿真、符号计算、数值计算、程序设计、技术文件、报告演示、算法开发、外部程序连接等功能,满足各个层次用户的需要,从高屮学牛到高级研究人员.安装Maple软件后,启动Maple进入默认的用户主界面,该界面包括两个主要的窗口:命令窗口(Commanddirectory),工具窗口图5.1用户主界而(Tooldirectory),如图5.1所示.图5.2命令窗口命令窗口是和其编译程序连接在一起的主要窗口,点击工具栏屮“[>”提示符后,Maple就处于准备状态,在提示符后输入正确的的运算表达式后,只
3、需按工具栏的“!”工具(或Enter键),命令窗口就会显示运算结果,如图5.2所示.Maple语言和其他高级程序设计语言一样,都具有类似的基木程序结构,不管多复朵的计算都是由一系列语句组成,这些语句有的是顺序依次执行的,有的需在特定的地方循环、选择、跳转执行•下面逐一介绍这些基本结构.1.顺序结构顺序结构,是程序语句书写的先后顺序,是流程控制语句中最简单的一类。1.选择结构所谓选择结构,常称为分支结构,是指在程序执行时,依据不同的条件,从两个或多个程序块中选择其屮一个执行.if条件结构的语法为:讦条件1then程序块
4、1;elif条件2then程序块2;else程序块3;fi;其中,fi是条件语句的结朿标志,也可以写作endif.此语句是一个三分支结构.若条件1为真,则执行程序块1;若条件1为假,条件2为真,则执行程序块2;若条件1和条件2都为假,则执行程序块3.例如,判断两个数中较大者:>bigger:=proc(a,b)ifa>=bthena;elseb;fi;end;>bigger(3,5);#函数调用运行以上程序后结果为:52.foi•循环在程序设计中,常常需耍把相同或者类似的语句连续执行多次,此时,对以通过for循环结构
5、更便捷地编写程序.例如,求1至5自然数的和:>total:=0;forifrom1to5dototal:=total+i;od;#循环体的结束标志od(也TiJ以丐作enddo).其屮,i为循环变量,用于控制循环次数;do与od之间的一条或多条语句,称为循环体,是要反复执行的语句.for循环结构的语法可总结为:for循环变量from初值to终值[by步长]do循环体od在for循环结构中,初值和终值一般是整数,若初始值或步长是1则都可以省略.1.while循环for循环是在那些已知循环次数,或者循环次数可以用简单表达
6、式计算的情况下比较适用.但有时循环次数并不能简单地给出,要通过计算,判断是否继续循环,这时,可以使用while循环.while循环标准结构为:while条件表达式do循环体odMaple先判断条件是否成立,若成立就一遍遍执行循环体,直到条件不成立为止.例如,辗转相除法计算两个自然数的最大公约数.>GCD:=proc(a::posint,b::posint)localp,q,r;p:=max(a,b);q:=min(a,b);r:=irem(p,q);whiler<>0dop:=q;q:=r;r:=irem(p,q);
7、od;q;end;>GCD(6,9);运行以上程序后结果九:32.递归子程序正如在一个了程序中町以调用其他的了程序一样(比如系统内部函数),一个了程序也可以在它的内部调用它白己,这样的子程序称为递归子程序.例如,递归定义Fibonacci数列:>fib:=proc(a::posint)locali,x;ifa=lora=2thenx:=l;elsex:=fib(a-l)+fib(a-2);#递归调用fiend;>fib(10);#调用该函数,输出Fibonacci数列的第10项运行结果为:55实验一矩阵的输入与特殊矩
8、阵生成1・矩阵输入建立矩阵的方法主要有:1)matrix(/n,n4all,al2Veealn^a21^e>a2w^>.^aml^e^amnJ)(2)例6.1.1建立一个2行2列矩阵A二24丿>A:=matrix(2,2,[1,2,3,4]);12执行以上指令后命令窗口显示为:A:=342)array(l../n,l..n,[[alI,...