用Maple软件进行数学实验课设计
数学软件Maple使用教程

数学软件Maple使⽤教程数学实验数学软件Maple使⽤教程序⾔⼀.什么是数学实验?我们都熟悉物理实验和化学实验,就是利⽤仪器设备,通过实验来了解物理现象、化学物质等的特性。
同样,数学实验也是要通过实验来了解数学问题的特性并解决对应的数学问题。
过去,因为实验设备和实验⼿段的问题,⽆法解决数学上的实验问题,所以,⼀直没有听说过数学实验这个词。
随着计算机的飞速发展,计算速度越来越快,软件功能也越来越强,许多数学问题都可以由计算机代替完成,也为我们⽤实验解决数学问题提供了可能。
数学实验就是以计算机为仪器,以软件为载体,通过实验解决实际中的数学问题。
⼆.常⽤的数学软件⽬前较流⾏的数学软件主要有四种:1.MathACD其优点是许多数学符号键盘化,通过键盘可以直接输⼊数学符号,在教学⽅⾯使⽤起来⾮常⽅便。
缺点是⽬前仅能作数值运算,符号运算功能较弱,输出界⾯不好。
2.Matlab优点是⼤型矩阵运算功能⾮常强,构造个⼈适⽤函数⽅便很⽅便,因此,⾮常适合⼤型⼯程技术中使⽤。
缺点是输出界⾯稍差,符号运算功能也显得弱⼀些。
不过,在这个公司购买了Maple公司的内核以后,符号运算功能已经得到了⼤⼤的加强。
再⼀个缺点就是这个软件太⼤,按现在流⾏的版本5.2,⾃⾝有400多兆,占硬盘空间近1个G,⼀般稍早些的计算机都安装部下。
我们这次没⽤它主要就是这个原因。
3.Mathematica其优点是结构严谨,输出界⾯好,计算功能强,是专业科学技术⼈员所喜爱的数学软件。
缺点是软件本⾝较⼤,⽬前流⾏的3.0版本有200兆;另⼀个缺点就是命令太长,每⼀个命令都要输⼊英⽂全名,因此,需要英语⽔平较⾼。
4.Maple优点是输出界⾯很好,与我们平常书写⼏乎⼀致;还有⼀个最⼤的优点就是它的符号运算功能特别强,这对于既要作数值运算,⼜要作符号运算时就显得⾮常⽅便了。
除此之外,其软件只有30兆,安装也很⽅便(直接拷贝就可以⽤)。
所以,我们把它放到学校⽹上直接调⽤。
Matlab课程设计 由电子连续性方程求PN节中的少数载流子数

图(3)Matlab 画图
另外,用户可以通过在命令窗口中直接输入脚本文件来运行脚本 M 文件。 Matlab 的所有函数都是以逻辑群组的方式进行组织的,而 Matlab 的目录结 构就是以这些群组的方式编排的,以下为几个常用的帮助命令: (1) helpwin:帮助窗口。 (2) helpdesk:帮助桌面,浏览器模式。 (3) lookfor:返回包含指定关键词的项。 (4) demo:打开示例窗口。
1
武汉理工大学《Matlab 应用课程设计》说明书
2 设计内容及要求
2.1 设计目的
《MATLAB 应用实践》课程是电子科学与技术专业学科实践性课程,其主要 目的是向通过本次课程设计掌握 MATLAB 软件的基本知识,基本的程序设计,软 件在高等数学和工程数学中的应用,学会使用软件进行数值计算和控制工程中的 应用。
图(1)Matlab 开发环境
启动 MATLAB 后就可以利用它工作了。由于 MATLAB 是一种交互式语言随时输 入指令即时给出运算结果是它的主要工作方式。例如,在提示符后输入交互式命 令 sqrt(9),结果会自动产生。如图(2)所示。
图(2)Matlab 简单运算
5
武汉理工大学《Matlab 应用课程设计》说明书
本文利用 Mtlab 的算法设计和程序设计的原理和方法,着重介绍了函数 ode45 的实际运用.根据肖克力方程,电子的连续性方程,推导出一个一阶常微 分方程,在给定的方波序列电压下,利用 Matlab 中函数 ode45 求出微分方程的 解,并用图形显示结果。 关键词:Matlab;半导体器件;ode45
3.2 MATLAB 的功能
(1)MATLAB 以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数 (2)按照 IEEE 的数值计算标准进行计算 (3)提供十分丰富的数值计算函数,方便计算,提高效率 (4)MATLAB 命令与数学中的符号,公式非常接近,可读性强,容易掌握 (5)MATLAB 提供丰富的绘图命令,很方便实现数据的可视化 (6)MATLAB 具有程序结构控制,函数调用,数据结构,输入输出,面向对
【免费下载】maple学习

一. Maple 的安装启动 1.目前市面上出售的 Maple 软件一般是与其它数学软件在一张光盘上,
安装时只要将光盘上 Maple 目录全部拷贝到硬盘上就可以了。 2.在学校网络主页通过文件下载 ftp 内的 17cai 目录,找到 maple 点击,
将其下载到计算机上并解压,即安装完毕。 启动 Maple,首先进入 Maple 目录下的子目录 BIN,找到枫叶图标(下面有
第二章 基本命令
命令的执行:1.每条命令必须用“:”(执行后不显示)或“;”(执行并显示)结
束,否则被认为命令没输完。2.命令区中“#”号以后为命令注释(不执行)。3.
光标在命令区的任何位置回车,都会依次执行该命令区所有命令。
> 2+3 #没有结束符,执行后会显示警告:语句没输完
Warning, incomplete statement or missing semicolon
。不过,在这个公司购买了 Maple 公司的内核以后,符号运算功能已经得到了 大大的加强。再一个缺点就是这个软件太大,按现在流行的版本 5.2,自身有 4 00 多兆,占硬盘空间近 1 个 G,一般稍早些的计算机都安装部下。我们这次没 用它主要就是这个原因。
3. Mathematica 其优点学软件。缺点是软件本身较大,目前流行的 3.0 版本有 200 兆;另一个 缺点就是命令太长,每一个命令都要输入英文全名,因此,需要英语水平较高 。 4. Maple 优点是输出界面很好,与我们平常书写几乎一致;还有一个最大的优点就 是它的符号运算功能特别强,这对于既要作数值运算,又要作符号运算时就显 得非常方便了。除此之外,其软件只有 30 兆,安装也很方便(直接拷贝就可以 用)。所以,我们把它放到学校网上直接调用。缺点就是目前市面上买不到教材 ,帮助系统又是英语,为学习带来了不便。因为条件的限制,其它几个软件不 便于介绍,所以我们把我们对该软件的了解编写成讲义发给同学们作参考。
数学实验“Chebyshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序)

f=c(1)+c(2)*t;
fori=3:k+1
T(i)=2*t*T(i-1)-T(i-2);
c(i)=2*int(subs(y,findsym(sym(y)),sym('t'))*T(i)/sqrt(1-t^2),t,-1,1)/pi;
实验内容
Chebyshev多项式最佳一致逼近,最佳平方逼近
成绩
教师
实验十八实验报告
一、实验名称:Chebyshev多项式最佳一致逼近,最佳平方逼近。
二、实验目的:进一步熟悉Chebyshev多项式最佳一致逼近,最佳平方逼近。
三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。
四、实验原理:
1.Chebyshev多项式最佳一致逼近:
当一个连续函数定义在区间 上时,它可以展开成切比雪夫级数。即:
其中 为 次切比雪夫多项式,具体表达式可通过递推得出:
它们之间满足如下正交关系:
在实际应用中,可根据所需的精度来截取有限项数。切比雪夫级数中的系数由下式决定:
2.最佳平方逼近:
求定义在区间 上的已知函数最佳平方逼近多项式的算法如下。
f2=power(a,n+1);
C(i,n+1)=(f1-f2)/(n+i);
end
coff=C\d;
设已知函数 的最佳平方逼近多项式为 ,由最佳平方逼近的定义有:
其中
形成多项式 系数的求解方程组
《高等数学》中的数学实验与Maple教学

202016/310《高等数学》中的数学实验与Maple 教学孙宪波韩江峰李成群摘要创新型、复合型和应用型人才培养是我国高等教育的重大战略。
在理工科和财经类高校,加强数学类课程基础教学和应用教学是培养“三型”人才的重要基础,其中加强数学实验和数学软件应用教学是高等院校加强数学基础教学和数学应用教学的重要内容。
关键词高等数学;线性代数;应用教学;数学软件中图分类号:O212文献标识码:ADOI :10.19694/ki.issn2095-2457.2020.16.026孙宪波1986—/男/河南人/博士/副教授/研究方向:应用数学/广西财经学院信息与统计学院(南宁530003)韩江峰广西财经学院信息与统计学院(南宁530003)李成群广西财经学院信息与统计学院(南宁530003)基金项目:本文由广西高等教育本科教改项目(2019JGB344)资助。
0引言加强数学类基础课程和数学应用类课程的教学是理工科和财经类高校培养创新型、复合型、应用型人才的重要内容。
我国在精密制造业等若干“卡脖子”技术落后相关国家的重要基础原因是我国应用数学公关关键技术的薄弱,其深层原因在我国在高等院校的数学类课程的基础教学和应用教学相对落后。
我国高等院校数学类课程教学内容上着重于多种特殊情的定理、原理和结果,在训练上着重难题解决技巧的积累;在课程体系上,非数学专业数学课程相对开设较少,数学专业数学课程着重于古典类基础课程,缺少数学应用类课程;在数学实践上,数学实验和数学软件的教学亟待加强。
本文第二部分分析高等数学中数学软件教学的几个重要内容,最后探讨数学实践教学与数学综合应用课的研发和推广。
1数学软件教学内容目前世界上流行的三大数学软件有Matlab,Maple 和Mathematica。
Matlab 的主要特色是数值计算及工程应用;Maple 的特色是符号计算和动力系统研究应用;Mathe matica 介于两者之间。
多数研究工作者使用Matlab 和Maple。
Maple基础教程(修订稿)

Maple 基础一Maple 的基本运算1 数值计算问题在应用Maple 做算术运算时, 只需将Maple 当作一个“计算器”使用, 所不同的是命令结束时需加“;”或“:”.在Maple 中, 主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘方或幂,或记为**),值得注意的是, “^”的表达式只能有两个操作数, 换言之, c b a ^^是错误的, 而“+”或“*”的任意表达式可以有两个或者两个以上的操作数. 2.1.1 有理数运算作为一个符号代数系统, Maple 可以绝对避免算术运算的舍入误差.如果要求出两个整数运算的近似值时, 只需在任意一个整数后加“.”(或“.0”), 或者利用“evalf ”命令把表达式转换成浮点形式, 默认浮点数位是10 (即: Digits:=10, 据此可任意改变浮点数位, 如Digits:=20). > 9/1;;13717421109739369> evalf(%);.1249999989> big_number:=3^(3^3);:= big_number 7625597484987> length(%);13函数“length ”作用在整数上时是整数的十进制位数即数字的长度. “%”是一个非常有用的简写形式, 表示最后一次执行结果 '1)整数的余(irem)/商(iquo)命令格式:irem(m,n); #求m 除以n 的余数irem(m,n,'q'); #求m 除以n 的余数, 并将商赋给q iquo(m,n); #求m 除以n 的商数iquo(m,n,'r'); #求m 除以n 的商数, 并将余数赋给r其中, m, n 是整数或整数函数, 也可以是代数值, 此时, irem 保留为未求值.2)素数判别(isprime) ~ 命令格式: isprime(n);如果判定n 可分解, 则返回false, 如果返回true, 则n “很可能”是素数. > isprime(2^(2^4)+1);true3) 确定第i 个素数(ithprime)若记第1个素数为2,判断第i 个素数的命令格式: ithprime(i);4) 一组数的最大值(max)/最小值(min)(命令格式: max(x1,x2,…,xn); #求x1,x2,…,x n中的最大值min(x1,x2,…,xn); #求x1,x2,…,x n中的最小值5)随机数生成器(rand)命令格式:rand( ); #随机返回一个12位数字的非负整数rand(a..b); #调用rand(a..b)返回一个程序, 它在调用时生成一个在范围[a, b]内的随机数> rand();【427419669081> myproc:=rand(1..2002):> myproc();1916> myproc();1204注意, rand(n)是rand(0..n-1)的简写形式.2.1.2 复数运算复数是Maple中的基本数据类型. 虚数单位i在Maple中用I表示可以用Re( )、Im( )、conjugate( )和argument( )等函数分别计算实数的实部、虚部、共轭复数和幅角主值等运算. 试作如下实验: (> complex_number:=(1+2*I)*(3+4*I);-510Icomplex_number +:=> Re(%);Im(%%);conjugate(%%%);argument(complex_number);-510--510Iarctan2π- +()1) 绝对值函数…命令格式: abs(expr);当expr为实数时,返回其绝对值,当expr为复数时,返回复数的模.2)复数的幅角函数命令格式: argument(x); #返回复数x的幅角的主值3)共轭复数命令格式: conjugate(x); #返回x的共轭复数初等数学<2.2.1 常用函数1) 确定乘积和不确定乘积命令格式: product(f,k);product(f,k=m..n);product(f,k=alpha);product(f,k=expr);其中, f —任意表达式, k —乘积指数名称, m,n —整数或任意表达式, alpha —代数数RootOf, expr —包含k 的任意表达式.> product(k^2,k=1..10); #计算2k 关于1..10的连乘》13168189440000> product(k^2,k); #计算2k 的不确定乘积()Γk 2> product(a[k],k=0..5); #计算a i (i=0..5)的连乘a 0a 1a 2a 3a 4a 5> Product(n+k,k=0..m)=product(n+k,k=0..m); #计算(n+k)的连乘, 并写出其惰性表达式=∏ = k 0m() + n k ()Γ + + n m 1()Γn> product(k,k=RootOf(x^3-2)); #计算23-x 的三个根的乘积】22)指数函数计算指数函数exp 关于x 的表达式的命令格式为: exp(x); 3)确定求和与不确定求和sum 命令格式: sum(f,k);sum(f,k=m..n); sum(f,k=alpha); sum(f,k=expr);-其中, f —任意表达式, k —乘积指数名称, m,n —整数或任意表达式, alpha —代数数RootOf, expr —不含k 的表达式.> Sum(k^2,k=1..n)=sum(k^2,k=1..n);= ∑= k 1nk 2 - + + 13() + n 1312() + n 1216n 16> Sum(1/k!,k=0..infinity)=sum(1/k!,k=0..infinity);= ∑= k 0∞1!k e > sum(a[k]*x[k],k=0..n);∑= k 0na k x k> sum(k/(k+1),k=RootOf(x^2-3));)33)三角函数/双曲函数命令格式: sin(x); cos(x); tan(x); cot(x); sec(x); csc(x); sinh(x); cosh(x); tanh(x); coth(x); sech(x); csch(x); 其中, x 为任意表达式. > Sin(Pi)=sin(Pi);= ()Sin π04)反三角函数/反双曲函数—命令格式: arcsin(x); arccos(x); arctan(x); arccot(x); arcsec(x); arccsc(x);arcsinh(x); arccosh(x); arctanh(x); arccoth(x); arcsech(x); arccsch(x);arctan(y,x);其中, x, y 为表达式. 反三角函数/反双曲函数的参数必须按弧度计算. > arcsinh(1);()ln + 12> cos(arcsin(x));- 1x 2}5)对数函数命令格式: ln(x); #自然对数log[a](x); #一般对数 log10(x); #常用对数一般地, 在ln(x)中要求x>0. 但对于复数型表达式x, 有:)(argument *))(abs ln()ln(x I x x += (其中, ππ≤<-)(argument x )> log10(1000000);、()ln 1000000()ln 10> simplify(%); #化简上式62.2.2 函数的定义试看下面一个例子:> f(x):=a*x^2+b*x+c;---并不是函数,而是一个表达式:= ()f x + + a x 2b x c> f(x),f(0),f(1/a);…,, + + a x 2b x c ()f 0⎛⎝ ⎫⎭⎪⎪f 1a由上述结果可以看出, 用赋值方法定义的f(x)是一个表达式而不是一个函数 在Maple 中, 要真正完成一个函数的定义, 需要用算子(也称箭头操作符):> f:=x->a*x^2+b*x+c;:= f → x + + a x 2b x c> f(x),f(0),f(1/a);,,+ + a x 2b x c c + + 1a bac > f:=(x,y)->x^2+y^2;*:= f → (),x y + x 2y 2> f(1,2);5> f:=(x,y)->a*x*y*exp(x^2+y^2);:= f → (),x y a x y e()+ x 2y 2另一个定义函数的命令是unapply,其作用是从一个表达式建立一个算子或函数. 命令格式为: f:=unapply(expr, x); 命令格式为: f:=unapply(expr, x, y, …);!> f:=unapply(x^4+x^3+x^2+x+1,x);:= f → x + + + + x 4x 3x 2x 1借助函数piecewise 可以生成简单分段函数: > abs(x)=piecewise(x>0,x,x=0,0,x<0,-x);= x ⎧⎩⎪⎪⎪⎪⎪⎨x < 0x 0= x 0-x < x 0清除函数的定义用命令unassign. > unassign(f); > f(1,1);"()f ,11定义了一个函数后, 就可以使用op 或nops 指令查看有关函数中操作数的信息. nops(expr), 函数op 的主要功能是,其命令格式为:op(expr); #获取表达式的操作数op(i, expr); #取出expr 里第i 个操作数, op(i .. j, expr); #expr 的第i 到第j 个操作数 nops(expr); #返回操作数的个数 > expr:=6+cos(x)+sin(x)*cos(x)^2;:= expr + + 6()cos x ()sin x ()cos x 2&> op(expr);,,6()cos x ()sin x ()cos x 2> nops(expr);32.2.3 Maple 中的常量与变量名为了解决数学问题, 一些常用的数学常数是必要的. Maple 系统中已经存储了一些数学常数在表达式序列constants 中: > constants;,,,,,,false γ∞true Catalan FAIL π(—2.2.4 函数类型转换实现函数类型转换的命令是convert . 命令格式:convert(expr, form); #把数学式expr 转换成form 的形式convert(expr, form, x); #指定变量x, 此时form 只适于exp 、sin 、cos convert 指令所提供的三角函数、指数与函数的转换共有exp 等7种: (1) exp : 将三角函数转换成指数(2) expln : 把数学式转换成指数与对数(3) expsincos : 分别把三角函数与双曲函数转换成sin 、cos 与指数的形式 [(4) ln : 将反三角函数转换成对数(5) sincos : 将三角函数转换成sin 与cos 的形式, 而把双曲函数转换成sinh 与cosh 的形式 (6) tan : 将三角函数转换成tan 的形式(7) trig : 将指数函数转换成三角函数与对数函数 > convert(sinh(x),exp); #将sinh(x)转换成exp 类型-12e x 121e x2.2.5 函数的映射—map 指令在符号运算的世界里, 映射指令map 可以说是相当重要的一个指令, 它可以把函数或指令映射到这些结构里的元素, 而不破坏整个结构的完整性. 命令格式为: "map(f, expr); #将函数f 映射到expr 的每个操作数map(f, expr, a); #将函数f 映射到expr 的每个操作数, 并取出a 为f 的第2个自变量map(f, expr, a1, a2,…, an); #将函数f 映射到expr 的每个操作数, 并取a1~an 为f 的第2~n+1个自变量map2(f, a1, expr, a2, …, an); #以a1为第1个自变量, expr 的操作数为第2个自变量, a2为第3个自变量…, an 为第n+1个自变量来映射函数f> f:=x->sqrt(x)+x^2;:= f → x + x x 2> map(f,[a,b,c]);】[],, + a a 2 + b b 2 + c c 2> map(h, [a,b,c],x,y);[],,()h ,,a x y ()h ,,b x y ()h ,,c x y3 求 值赋值在Maple 中, 不需要申明变量的类型, 甚至在使用变量前不需要将它赋值, 这是Maple 与其它高级程序设计语言不同的一点, 也正是Maple 符号演算的魅力所在, 这个特性是由Maple 与众不同的赋值方法决定的. 为了理解其赋值机制, 先看下面的例子. > p:=9*x^3-37*x^2+47*x-19;:= p - + - 9x 337x 247x 19}> roots(p);⎡⎣⎢⎢⎤⎦⎥⎥,[],12⎡⎣⎢⎢⎤⎦⎥⎥,1991 > subs(x=19/9,p);变量代换subs ( var = repacedment , expression );调用的结果是将表达式expression 中所有变量var 出现的地方替换成 replacement. > f:=x^2+exp(x^3)-8;】:= f + - x 2e()x 38> subs(x=1,f);- + 7e如果需要计算, 必须调用求值函数evalf . 如: > evalf(%);5.> subs(x=y,y=z,x^2*y); (顺序替换)z 3[> subs({x=y,y=z},x^2*y); (同步替换)y 2z> subs((a=b,b=c,c=a),a+2*b+3*c); (顺序替换)6a> subs({a=b,b=c,c=a},a+2*b+3*c); (轮 换)+ + b 2c 3a> subs({p=q,q=p},f(p,q)); (互 换)()f ,q p,求值规则1) 对表达式求值命令格式: eval(e, x=a); #求表达式e 在x=a 处的值 eval(e, eqns); #对方程或方程组eqns 求值 eval(e); #表达式e 求值到上面两层 eval(x,n); #给出求值名称的第n 层求值 > p:=x^5+x^4+x^3+x^2+x+73;:= p + + + + + x 5x 4x 3x 2x 73(> eval(p,x=7);19680当表达式在异常点处求值时, eval 会给一个错误消息. 如下: > eval(sin(x)/x,x=0);Error, numeric exception: division by zero2) 在代数数(或者函数)域求值命令格式: evala(expr); # 对表达式或者未求值函数求值 :evala(expr,opts); #求值时可加选项(opts)在Maple 中, 代数数用函数RootOf ()来表示. 如3作为一个代数数, 可以表示为: > alpha:=RootOf(x^2-3,x);:= α()RootOf - _Z 23> simplify(alpha^2);3在Maple 内部, 代数数α不再表示为根式, 而在化简时, 仅仅利用到32=α这样的事实. 这里, Maple 用到一个内部变量_Z. 再看下面一个例子,其中alias 是缩写的定义函数,而参数lenstra 指lenstra 椭圆曲线方法:> alias(alpha=RootOf(x^2-2)): —> evala(factor(x^2-2,alpha),lenstra);() + x α() - x α> evala(quo(x^2-x+3,x-alpha,x,'r'));- + + 1αx> r;- + 3αα2> simplify(%);- 5α)3) 在复数域上符号求值操纵复数型表达式并将其分离给出expr 的实部和虚部的函数为evalc, 命令格式为: evalc(expr);evalc 假定所有变量表示数值, 且实数变量的函数是实数类型. 其输出规范形式为: expr1+I*expr2.> evalc(sin(6+8*I));+ ()sin 6()cosh 8I ()cos 6()sinh 8> evalc(f(exp(alpha+x*I)));()f + e α()cos x I e α()sin x}4) 使用浮点算法求值命令格式为: evalf(expr, n); > evalf(Pi,50);3.1415926535897932384626433832795028841971693993751> evalf(sin(3+4*I));- 3.853********.01681326I5) 对惰性函数求值把只用表达式表示而暂不求值的函数称为惰性函数,对任意代数表达式f 求值的命令格式为: value(f); ~> F:=Int(exp(x),x);:= F d ⎛⎠⎜e xx> value(%);e x> f:=Limit(sin(x)/x,x=0);:= f lim→ x 0()sin x x> value(%);1[另外, 将惰性函数的大写字母改为小写字母亦即可求值. 如下例:> Limit(sin(x)/x,x=0)=limit(sin(x)/x,x=0);= lim→ x 0()sin x x1 4 数据结构Maple 中有许多内建的与FORTRAN 、C 或Pascal 不同的数据结构. 主要的数据结构有序列(sequence)、列表(list)、集合(set)、代数数( algebraic number)、未求值或惰性函数调用、表(table)、级数(series)、串(string)、索引名(index)、关系(relation)、过程体(process)以及整数(integer)、分数(fraction)、浮点数(float)、复数(complex number)等数据结构, 而矩阵(matrix)在Maple 中表示为阵列, 是一种特殊的表.数据类型查询在Maple 中, 用whattype 指令来查询某个变量的数据类型或特定类型, 命令格式为: whattype(expr) # 查询expr 的数据类型`type(expr, t) # 查询expr 是否为t 类型, 若是则返回true, 否则返回false序列, 列表和集合4.2.1 序列所谓序列(Sequence), 就是一组用逗号隔开的表达式列. 如: > s:=1,4,9,16,25;:= s ,,,,1491625> t:=sin,com,tan,cot;:= t ,,,sin com tan cot|一个序列也可以由若干个序列复合而成, 如:> s:=1,(4,9,16),25;:= s ,,,,1491625> s,s;,,,,,,,,,14916251491625而符号NULL 表示一个空序列. 序列有很多用途, 如构成列表、集合等. 事实上, 有些函数命令也是由序列构成. 例如: > max(s);25:> min(s,0,s);函数seq 是最有用的生成序列的命令, 通常用于写出具有一定规律的序列的通项, 命令格式为: seq(f(i), i=m..n); # 生成序列f(m), f(m+1), …, f(n) (m,n 为任意有理数) seq(f(i), i=expr); # 生成一个f 映射expr 操作数的序列seq(f(op(i,expr)), i=1..nops(expr)); # 生成nops(expr)个元素组成的序列 > seq(i^2,i=1..10);,,,,,,,,,149162536496481100¥> seq(i^3,i=x+y+z);x3y3z3,,获得一个序列中的特定元素选用操作符[ ], 如:> seq(ithprime(i),i=1..20);235711131719232931374143475359616771,,,,,,,,,,,,,,,,,,,> %[6],%[17];1359,4.2.2 列表>列表(list), 就是把对象(元素)放在一起的一种数据结构, 一般地, 用方括号[ ]表示列表. 如下例:> l:=[x,1,1-z,x];1z xx1 -l[]:=,,,> whattype(%);list4.2.3 集合集合(set)也是把对象(元素)放在一起的数据结构,一般地, 用花括号表示集合.> s:={x,1,1-z,x};:1z1x -:=s{},,> whattype(%);set空集定义为{ }.Maple中集合的基本运算有交(intersect)、并(union)、差(minus):> A:={seq(i^3,i=1..10)};B:={seq(i^2,i=1..10)};1827641252163435127291000:=,,,,,,,,,A{},,,,,,,,,149162536496481100B{}:=`> A intersect B;,164{}数组和表在Maple中, 数组(array)由命令array产生, 其下标变量(index)可以自由指定. 下标由1开始的一维数组称为向量(vector), 二维以上的数组称为矩阵(matrix). 数组的元素按顺序排列, 任意存取一数组的元素要比列表或序列快的多. 区分一个数据结构是数组还是列表要用“type”命令.表(table)在建立时使用圆括号, 变量能对一个表赋值, 但一个在存取在算子中的未赋值变量会被自动地假定是表, 表的索引可以成为任意Maple表达式. 表中元素的次序不是固定的.5 Maple 高级输入与输出操作生成LATEXMaple 可以把它的表达式转换成LATEX, 使用latex 命令即可: `> latex(x^2+y^2=z^2);{x}^{2}+{y}^{2}={z}^{2}还可以将转换结果存为一个文件(LatexFile): > latex(x^2 + y^2 = z^2, LatexFile); 再如下例:> latex(Int(1/(x^2+1),x)=int(1/(x^2+1),x));\int \! \left( {x}^{2}+1 \right) ^{-1}{dx}=\arctan\left( x \right)\二 微积分运算$1 函数的极限和连续函数和表达式的极限)(lim x f ax →命令格式为: limit(f,x=a);求)(lim x f ax +→时的命令格式为limit(f, x=a, right); 求)(lim x f a x -→时的命令格式为limit(f, x=a, left); 请看下述例子:> Limit((1+1/x)^x,x=infinity)=limit((1+1/x)^x,x=infinity);= lim → x ∞⎛⎝ ⎫⎭⎪⎪ + 11x xe > Limit((x^n-1)/(x-1),x=1)=limit((x^n-1)/(x-1),x=1);= lim → x 1- x n 1 - x 1n> Limit(x^x,x=0,right)=limit(x^x,x=0,right);"= lim→ +x 0x x 1> limit(a*x*y-b/(x*y),{x=1,y=1});- a b> limit(x^2*(1+x)-y^2*((1-y))/(x^2+y^2),{x=0,y=0});undefined下例就是化二重极限为二次极限而得正确结果:> limit((sin(x+y)/(sin(x)*sin(y)),{x=Pi/4,y=Pi/4}));⎛⎝ ⎫⎭⎪⎪lim it ,()sin + x y ()sin x ()sin y {}, = x 14π = y 14π \> limit(limit(sin(x+y)/(sin(x)*sin(y)),x=Pi/4),y=Pi/4);2函数的连续性1.2.1 连续在Maple 中可以用函数iscont 来判断一个函数或者表达式在区间上的连续性. 命令格式为: iscont(expr, x=a..b, 'colsed '/'opened');其中, closed 表示闭区间, 而opened 表示开区间(此为系统默认状态).如果表达式在区间上连续, iscont 返回true, 否则返回false, 当iscont 无法确定连续性时返回FAIL. 另外, iscont 函数假定表达式中的所有符号都是实数型. 颇为有趣的是, 当给定区间[a,b ] (a >b )时, iscont 会自动按[b,a ]处理. }> iscont(1/x,x=1..2);true> iscont(1/x,x=-1..1,closed);false> iscont(1/(x+a),x=0..1);FAIL> iscont(ln(x),x=10..1);true`1.2.2 间断函数discont 可以寻找函数或表达式在实数域的间断点, 当间断点周期或成对出现时, Maple 会利用一些辅助变量予以表达, 比如, _Zn ~(任意整数)、_NZn ~(任意自然数)和Bn ~(一个二进制数, 0或者1), 其中n 是序号. 判定f(x)间断点的命令为:discont(f, x); > discont(ln(x^2-4),x);{},-22> discont(arctan(1/2*tan(2*x))/(x^2-1),x);{},,-11 + 12π_Z1~14π> discont(round(3*x-1/2),x);' {} + 1313_Z1函数round 为“四舍五入”函数,上例并非一目了然,对其进一步理解可借助于函数plot 或下面给出的fdiscont 例子。
实验七 用Maple解常微分方程

实验七用Maple解常微分方程1. 实验目的本实验旨在通过使用数学建模软件Maple来解常微分方程,加深对常微分方程解法的认识和理解。
通过实际操作和观察结果,提高对Maple软件的运用能力。
2. 实验原理常微分方程是描述物理、化学、工程等领域中的连续变化过程的常见数学工具。
解常微分方程可以帮助我们理解系统的演化规律,从而进行预测和控制。
Maple是一款强大的数学软件,其中包含了丰富的求解常微分方程的函数。
通过输入常微分方程的表达式,Maple可以直接给出解析解或数值解。
在本实验中,我们将使用Maple来解常微分方程。
3. 实验步骤3.1 安装Maple软件3.2 打开Maple软件双击桌面上的Maple图标,打开软件。
3.3 输入常微分方程点击菜单栏中的"输入",选择"数学输入",在弹出的对话框中输入常微分方程的表达式。
例如,我们要解的方程是一阶线性常微分方程`dy/dx + y = 0`,则输入表达式为:diff(y(x),x) + y(x) = 03.4 求解方程点击菜单栏中的"执行",选择"执行工作表",Maple将根据输入的方程进行求解。
3.5 查看解析解或数值解Maple会给出方程的解析解或数值解。
根据实验需求,可以选择相应的解进行查看和分析。
3.6 导出结果点击菜单栏中的"文件",选择"导出为",选择导出格式和保存路径,点击"保存",将结果导出为文档或图像文件。
4. 实验结果根据实验中输入的常微分方程,Maple求解得到如下解析解:y(x) = C exp(-x)其中C为任意常数。
5. 实验总结通过本次实验,我们研究了使用Maple软件求解常微分方程的方法。
Maple的强大功能和简便操作使得解常微分方程变得更加容易。
通过实际操作,我们可以深入理解常微分方程的解法和物理意义。
MATLAB课程设计

一、MATLAB简介MATLAB是一种专业的计算机程序,用于工程科学的矩阵数学运算。
它极其灵活的计算体系,用于解决各种重要的技术问题。
Matlab 程序执行matlab 语言,提供了一个极其广泛的预定义函数库,这样就使得技术工作变得简单高效。
在解决工程技术问题方面,MATLAB 比其它任何计算机语言都简单高效。
在70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库.EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平.到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK 和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK 的接口程序.Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合.在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传.在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如MATLAB,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB. 经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位.MathWorks公司1993年推出了MATLAB 4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用Maple软件进行数学实验课设计
为解决高职生在数学学习中抽象思维能力偏低,在数学学习方面发现问题、分析问题、解决问题的能力有限等问题,本人利用Maple软件强大的符号运算、数值计算和图形动画功能,将数学问题可视化,把抽象的数学定理、数学概念以及数学问题转化为形象思维过程,并精选四个典型的问题,从数学问题动态化、数学问题图形化和数字形象化三个维度来设计数学实验,结合日常数学教学实践,从数学实验的理论和实践进行设计,深入分析了Maple可视化数学实验课对学生学习效果、教师的教学方式等方面的影响。
标签:数学实验;maple
数学是一门推理演绎的课程,具有高度的抽象性和严密的逻辑性,这些特点决定了传统的数学教学必须具备三大能力:运算能力、逻辑思维能力、和空间想象能力。
信息技术与高职数学教学的整合主要依据主要分为现代学习理论和现代教学理论两方面。
现代学习理论分为:建构主义学习理论、人本主义学习理论和行为教学法。
建构主义认为,知识不是通过教师传授得到的,而是学习者在一定情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的,提倡教师指导下的以学生为中心的学习。
而目前高职数学教学中最缺少的就是以学生为中心的教学和学习。
人本主义一方面反对行为主义把人看作动物或机器,不重视人类本身的特征;另一方面也批评认知心理学虽然重视人类的认知结构,但却忽视了人类情感、价值、态度等方面对学习的影响,强调教学是一种人与人的情感的交流活动,教师应该把自己的情意因素转移到学生的身上,促进学生自主自觉的学习,这对信息技术与高职数学教学整合也具有指导意义。
而行为主义教学法是一种能力本位的方法,简单的说就是“干中学(learning by doing)”,开发行为教学法的先驱者之一科弗代尔(Ralph Coverdale)顾问常对学员说“不要谈论,去干!”。
传统教学是以课堂为中心,教师把完成教学任务作为课堂教学的唯一任务,在设计教学过程和实施课堂教学的过程中也以此为中心,在教学过程中以教师为中心,课堂上对学生的培养仅仅局限在知识的传授上,而忽略了学生的全面发展,教学中低估了学生已有的认知能力和知识积累,上课就是一个执行教案的过程,理想的状态就是完成教案,而不希望“节外生枝”。
这种教学方式把丰富的、复杂的、变动的课堂教学过程简化为单一的认知过程,把它从整体的丰富的生命活动中隔离出来,教学过程中轻视了学生的个体差异,不能充分调动学生的主观能动性和创造性,使得数学教学只能是事倍功半。
传统教学方式以教师传授知识为中心,忽略学生作为学习主体的参与作用,不利于培养学生的素质。
传统的数学教学效率低,概念定义的推论、图形绘制等,使得板书和画图时间占用太多,讲解和学生讨论时间不足;传统的数学教学中
“动”的问题,利用黑板很难演示,然而对于计算机来讲是一件轻而易举的事情;在传统数学教学中函数作图和多函数作图比较麻烦,教师不好讲授,学生也不好理解接受。
Maple软件是加拿大滑铁卢大学研制的一种计算机代数系统,通过20多年的不断发展,已经成为当今世界上最优秀的数学软件之一,它以良好的使用环境、强有力的代数符号运算能力以及灵活的图形显示和高效的可编程功能,为越来越多的人们所喜爱,并成为进行数学处理的工具。
Maple软件可以使以上不足得到改善,比如高职数学中极限、导数、定积分等概念就可以利用Maple软件设计数学实验课,使这些枯草的、不易理解的概念“活动”起来,让学生更加直观的对概念有深层次的理解,从而提高教学效果。
数学实验教学能让学生经历知识的再创造,学生能从中发现新认识,提出问题,进一步解决问题。
学生能通过数学实验,经过观察、猜想、实验验证、理论论证,最后得出结论。
目前大多数高职校的学生已对传统的“黑板+粉笔”的教学模式感到厌倦,学生进入高职校以后对公共基础课兴趣不大,产生了“轻基础课重专业课”的思想,而且传统的高等数学的教学内容编排完整、严格,大量的知识犹如一桌“满汉全席”,学生在学习时往往“难以下咽”。
所以本着“学以致用”的宗旨,数学实验一方面强调学生运用数学的能力,另一方面在选取实验内容的时候要适当降低对理论的要求。
鉴于此,在数学实验教学过程中,可以采取有效的“边做边学”、“先做后学”,融“教、学、做”为一体。
高职数学实验主要包括有准备实验、计算实验、演示实验、综合实验等,在本研究中,主要运用演示实验,从直观的角度出来,利用Maple软件的强大的图形绘制功能和动画演示功能,用图示、图解和动画等方式来解释各种数学概念、定理以及计算思路和方法。
实验设计:“函数的极限”问题
(1)问题的提出
函数极限中有两个重要极限,很多极限的计算都可以转化成这样两个极限的问题,而这两个极限的导入要设计到极限问题的几个定理:比如:两边夹定理,单调有界定理等。
如果光通过定理证明来给出这两个极限,过程比较抽象。
如果能运用一些方法,能比较直观的来表示这两个极限,那么学生在理解上能更加直观形象。
(2)实验的目的:
通过Maple软件的绘图功能,画出这两个函数的图像,让学生直观的来判斷这两个函数的极限。
(3)Maple命令:
①“->”:函数定义操作。
②“plot(f(x),x=a..b)”:二维函数绘图命令,f(x)是函数表达式。
③“color=a”:设置图像颜色命令。
④“limit(f(x),x=a,dir)”:极限计算命令,f(x)是函数表达式,x是自变量,dir表示极限的方向right或者left,默认为实数。
(4)实验过程(具体见可视化教学过程):
研究limx→0sin(x)x=1
1.打开Maple,输入命令:
> plot(sin(x)/x,x=-100..100);(画出函数sinxx在(-100,100)内的函数图像)从图(1)中,我们可以清楚的看到,当x→0+时,函数sinxx无限接近于1,所以我们可以猜测limx→0+s inxx=1。
同样当x→0-时,函数sinxx也无限接近于1,我们同样可以猜测得到limx→0-sinxx=1。
故由limx→x0f(x)=A的充要条件是limx→x0+f(x)=limx→x0-f(x)=A,得:limx→0sinxx=1。
(得出结论后由书本证明)
演示完上述实验后,要求学生掌握计算极限的命令,并操作练习。
(5)练习:
求下列极限
①limx→0tan(x)x②limx→0(1-3x)1x
(6)实验说明:
两个重要极限在极限的计算中具有举足轻重的作用,但是公式的记忆和运用对于高职学生来讲有一定难度。
若用Maple软件来进行演示,可以让学生比较直观地从图形上观察其变化,方便学生记忆公式;运用Maple软件的极限计算功能,也能帮助学生在计算完极限以后,通过计算机来验证计算结果是否正确。
通过Maple软件一方面能帮助学生在理论证明不够深入的前提下,对所给问题有非常直观的印象,另一方面,加强了利用Maple软件解决数学问题的能力,能帮助学生培养数学学习兴趣。
数学的研究对象是形式化的思想材料,整个数学是一个形式化的思想体系,呈现在学生面前的往往都是教材里的证明和计算。
在传统的教学模式下,学生只是被动接受知识的机器,学生体验到的也只是数学成品,总是根据这些数学成品进行大量重复的计算,很少有机会接触到数学结论的探索发现过程,这使得学生觉得数学仅仅是大量概念、公式等抽象事物的堆积。
基于高职校的现状,数学教学中很多公理、定理的发现如果采用传统的方式来进行教学,学生不易接受,更不易消化,如果在传统的教学模式中引入Maple可视化教学模式,学生的学习方式由被动的听课变为观察数学实验,甚至可以亲身参与实验,一起通过实验经历
知识的发生、形成过程,将繁琐的证明法揭示定理、概念變化为通过实验观察、教师引导,由学生自己来发现结论,整个过程不但充满了趣味,而且由于学生自身参与了整个过程,印象也比较深刻。
通过Maple软件开设可视化数学实验课,创设了数学情境,通过参与数学实验过程,填写实验报告,让学生由被动的听数学变成观察数学、探究数学、解决数学,让学生认识到数学是“有用的数学”,极大的调动了学生学习数学的主动性和积极性,鼓励学生用探究的方式来学习数学,培养学生自主学习的能力。
现代教育技术为学生学习提供了良好的学习环境,它也悄悄的在改变高职校的数学教育面貌。
参考文献
[1]郑玉杰,周游.职业院校传统数学教学模式的弊端与矫治[J].职业教育研究,2007(4):121-122.
[2]夏磊.maple软件在高职数学教学中的可视化应用[J].中国科教创新刊,2009,(31).。