数学建模实验教案

《数学建模实验教案》由会员分享,可在线阅读,更多相关《数学建模实验教案(10页珍藏版)》请在文档大全上搜索。
1、 数学实验第一讲 MATLAB简介 MATLAB软件的界面风格,常用的窗口命令和菜单选项 界面风格(略) 常用的窗口命令和菜单选项: clc: 清除命令窗口中显示内存 clf: 清除图形窗口 clear: 清除内存中的变量 who,whos:列出内存中的变量(以及属性) help: edit: format ,long,short,lng e,short e,short g,:定义输出格式 菜单选项:主要介绍file, edit, windows, help四个菜单 变量的命名,基本运算,常用的函数 变量名的第一个字符必须是英文字母,最多可达31个字符;变量名中不能含有空格和标点符号;变量名和
2、函数名对字母的大小写是由区别的。变量名和函数名不得使用以下的预定义变量: ans, eps, Flops, Inf, inf, pi, NaN, nan, nargin, nargout, realmax基本运算:“+” : 加法;“”:减法;:“*”:乘法; “/或”:除法;“”:乘幂例如:3/4,34,34,43常用函数:例如 x=12; c=round(cos(x)/log(x)2+atan(x); 标点符号的使用,数组和矩阵的生成以及运算标点符号: “空格和逗号”:输入量与输入量,数组元素之间的分隔符。 “句号”:数值运算中的小数点。 “分号”:不显示运算结果,也是数组行与行的分隔符。
3、 “冒号”:缺省标志,表示全部。 “”: 由它起始的行为注释行。 “”: 字符串标记。 “ ”: 输入数组标记。例如 a=4*2+25; b=1 2;3,5.1 c=sin(2*pi*x)+ceil(-1.28) % d=a+b+c e=b(1,: ); f=b(:,2); g=b(:)数组和矩阵的生成以及调用: 一维数组 生成方式有两种: x=1 2*pi sin(pi/2);-4, 5.1, 3.5 x=a:step:b 请学生尝试改变 a,b step的值,看看结果如何。 调用:x(i) : 调用数组的第i个元素 rand(k,l) : 产生一个k×l的随机数组 x(1:3)=
4、1 2 3 : 给数组的前三个元素赋值 a=x(3:-1:1):将数组的前三个元素倒序后生成一个新的数组 find(x>1): 找出数组x的大于1的元素的下标 x(find(x>1): 由数组x的大于1的元素构成一个子数组并保持原来的顺序 二维数组 生成方式与一维数组相同,只是行与行之间必须以分号隔开 调用: a(I,j): 表示a的第i行第j列元素 a(I,:): 第i行的所有元素 a(:,j): 第j列的所有元素 a(:): a的所有元素 a(k): a的第k个元素,按列数特殊数组 eye(n,n): 生成n维单位矩阵 ones(m,n): 生成全是1的矩阵 zeros(m,n
5、): 生成全是0的矩阵 rand(m,n): 生成m行n列的随机矩阵 randn(m,n): 生成正态分布的m行n列的随机矩阵 diag(a): 提取a 的对角线向量或者以向量a为对角线形成一个对角矩阵 数组和矩阵的运算: a+b: 对应元素相加; a-b: 对应元素相减 a*b: 矩阵相乘; a.*b: 对应元素相乘 a/b: a右乘b的逆; a./b: a的元素除以b的对应元素 ab: 与上面类似; a.b: 与上面类似 a: 转置 ax: 矩阵的幂; a.x: 矩阵元素的幂 x+a: 标量x与矩阵 a的元素相加 x*a: 标量x与矩阵 a的元素相乘 inv(a): 矩阵a的逆例如 a=e
6、ye(3,3); b=a+4.1; a(2,3)=-2; a; inv(a) a.*b, a*b; b./a b/a a2 脚本文件的生成和运行 脚本文件的编辑环境: 在MATLAB的命令窗口输入edit 在MATLAB的file选项中选择new-M-file 运行:只需在命令窗口中输入 M文件的名字即可 在M文件的编辑中,只需将相关命令依次输入,然后保存即可例 建立一个名为examp的M文件,用于计算n! jirguo=1;for i=1:n jieguo=jieguo*I; end jieguo例 已知函数求, y=0; if x<0 ; elseif x1 ; else ; end
7、 y作业:1. 将任意一个自然数反序2. 输入一个n阶方阵并求它的逆3. 输入一个数组,求出其中所有大于1.5的元素之和4. 建立一个m文件用于计算 第二讲 利用MATLAB加深对微积分中的基本概念的理解1. 极限与间断点 极限limit(f,x,a):求函数f(x)在x趋于a时的极限 limit(f,x,a,left): 求函数f(x)在x趋于a时的左极限limit(f,x,a,right): 求函数f(x)在x趋于a时的右极限例题1. 命令 limit(x-sin(x)/(x3),x,0) 例题2. 命令 limit(x+3)/(x+2)x,x,inf) 例题3. 观察函数在时的极限过程
8、x=1:-0.01:0; y=cos(1/x); plot(x,y)例题4. syms xlimit(cos(x)-exp(-x2/2)/(x4),x,0)例题5. syms nlimit(1/(log(log(n)log(n),n,inf) 例题6. 观察函数 的图像,理解可去间断点 ,无穷间断点以及跳跃间断点的概念 x1=-2:0.01: 0.5; x2=0.51:0.01:1 y1=sin(x)/(x*(x+1); y2=x2; x=x1,x2; y=y1,y2; plot(x,y)2. 无穷大量与无界函数例题7. 观察函数在时的极限过程,理解无穷大量与无界函数的区别 x=1:-0.01
9、:0; y=(1/x)*cos(1/x); plot(x,y)3. 函数的导数和积分导数 diff(f,x,n): 函数对x求n阶导数例题8. 求函数的一阶和二阶导数 syms x y=exp(2*x)*log(x2+1)*tan(-x); diff(y,x) diff(diff(y,x),x) diff(y,x,2) 观察一下后两个命令的运算结果 例题9. 求y的一阶和三阶导数 syms xf=exp(x2)*cos(x)/log(1+x2)'diff(f,x)diff(f,x,3)例题10. 求 syms xsyms yz='log(x2+y2)/atan(y/x)'
10、;diff(z,x)diff(diff(z,x),y) 积分 int(f,v): 求函数f对变量v的不定积分 int(f,v,a,b): 求函数f对变量v在区间a,b上的定积分 以上两个函数中当v缺省时,表示对符号变量的积分例题11. syms x;y='x*log(1+x2)'int(y,x)例题12. syms x;y='x3/(x4+2*x2+1)'int(y,x,0,5)例题13. syms x y;f='x*sin(x)'int(int(f,x,y,sqrt(y),y,0,1) 例题14. 求函数和的不定积分 syms x f1=x*e