MATLAB数学建模.ppt
- 文档编号:18797414
- 上传时间:2023-11-19
- 格式:PPT
- 页数:68
- 大小:835KB
MATLAB数学建模.ppt
《MATLAB数学建模.ppt》由会员分享,可在线阅读,更多相关《MATLAB数学建模.ppt(68页珍藏版)》请在冰点文库上搜索。
基于MATLAB的高等数学实验,主讲:
张朝元数学与计算机学院应用数学教研室2009.3.-4.,第一章MATLAB基本知识,第二章MATLAB矩阵和数组计算,第三章MATLAB符号运算,第四章MATLAB绘图,第五章MATLAB语言的程序设计,第六章MATLAB应用,一、MATLAB简介和特点,二、MATLAB的安装与启动,三、MATLAB基本知识,四、MATLAB基本操作,上机练习,第一章MATLAB基本知识,MATLAB是MatrixLaboratory(矩阵实验室)的缩写,是由美国MathWorks公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。
主要特点:
运算符和库函数极其丰富,语言简洁,编程效率高,既具有结构化的控制语句,又有面向对象的编程特性。
图形功能强大。
功能强大的工具箱。
易于扩充。
Back,1、MATLAB的运行方式:
命令行方式和M文件方式,例1.1、求矩阵,的和。
2、MATLAB的窗口,3、MATLAB的帮助系统,4、“clear”命令和“clc”命令,Back,1、MATLAB的常用操作键,表1.1命令窗口常用功能键,2、MATLAB的变量和函数,MATLAB的变量命名规则:
变量必须以字母打头,之后可以是任意字母、数字或下划线;变量名区分字母大小写;变量名不能超过19个字符。
调用单值函数格式:
变量名=函数名(P1,P2)P为输入参数,表1.2MATLAB中特殊变量名,表1.3基本函数表,运算符号:
+、-、*、/、,3、数字变量的运算及显示格式,四种显示格式:
short小数点后4位(默认)long小数点后14位shorte5位指数形式longe15位指数形式,4、数据的输入输出函数,变量名=input(提示信息),输出函数,从键盘输入数据,disp(输出项),5、MATLAB的符号表达式,定义方式:
变量名=表达式,6、逻辑关系运算,表1.5逻辑关系运算表,1.计算的值;2求;3计算;4求的值;5求15、35的最大公因数;6.计算3.14朝零取整;7用变量名y1表示方程8熟悉MATLAB的各窗口。
上机练习,第二章MATLAB矩阵和数组计算,一、矩阵的建立,二、矩阵元素的操作,三、矩阵的基本运算,四、矩阵的线性变换,五、矩阵的分解,六、向量运算,七、多项式运算,一、矩阵的建立,直接输入矩阵的元素,利用函数创建,zeros零矩阵ones常数矩阵eye单位矩阵rand均匀分布的随机矩阵randn正态分布的随机矩阵linspace线性等间隔向量logspace对数等间隔向量,利用数据文件装入,利用矩阵编辑器(MatrixEditor)创建,二、矩阵元素的操作,1、选取矩阵中某些元素而构成新的矩阵或数组,b=a(m行:
n行,r列:
s列)表示从a中抽出m到n行、r到s列b=a(:
,r列:
s列)表示所有行均选b=a(m行:
n行,:
)表示所有列均选c=a(m,r)表示第m行r列元素被选中,2、小矩阵拼成大矩阵,大矩阵c=a;b把b的元素补进a矩阵中,三、矩阵的基本运算,1、矩阵的四则运算,加(+)、减(-),乘法(*)、点乘(.*),除法(左除和右除/),点除(./),2、矩阵与标量的四则运算,3、矩阵的幂运算,A.n,p.B,A.B,Ap,4、矩阵的指数运算、对数运算和开方运算,矩阵的指数运算examexam1exam2,矩阵的对数运算logm,矩阵的开方运算sqrtm,5、矩阵的转置矩阵的逆矩阵inv,6、矩阵元素的行列式的值:
det矩阵的秩:
rank矩阵的迹:
trace矩阵的范数:
norm矩阵的条件数:
cond,7、矩阵a的特征值(n)特征向量(m):
m,n=eig(a),例2.5求矩阵A=2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2的行列式、迹、范数、条件数、秩和特征值特征向量。
例2.6解线性方程组,四、矩阵的线性变换,rot90矩阵逆时针旋转90度;fliplr矩阵作左右翻转;fliqud矩阵作上下翻转;diag产生对角矩阵;tril产生下三角矩阵;triu产生上三角矩阵;reshape矩阵重建;size矩阵尺寸;length向量长度。
五、矩阵的分解,Cholesky分解:
chol(A),三角分解:
L,U=lu(A),正交分解:
Q,R=qr(A),六、向量运算,1、向量的产生,2、向量运算,向量名=初值:
增量:
终值,向量可用中括号以及其中的数字产生,linspace(初值,终值,数据个数),例2.8、建立一个10以内的正奇数向量;建立一个110内的有4个数的向量。
向量与标量的运算,向量间的运算,和x1+x2差x1-x2点积dot(x1,x2)叉积cross(x1,x2)混合积dot(x1,cross(x2,x3),七、多项式运算,多项式一般可表示为:
1、多项式构造,命令:
poly2sym,例2.11、构造多项式,2、求多项式的值,3、多项式四则运算,命令:
polyval(p,s),加“+”减“-”乘conv(a,b)除q,r=deconva,b,第三章MATLAB的符号计算,一、符号定义,二、代数式的符号运算,三、可视化符号函数计算器,四、函数的极值和零点,五、求极限,六、求导数和偏导数,七、积分运算,八、级数,九、解方程和微分方程,上机练习,1、创建符号变量,符号变量名=sym(表达式),Syms符号变量名1符号变量名2符号变量名3,2、符号赋值,符号要用具体数值代替,格式为:
R=subs(s,old,new),表达式R的值可用命令:
vpa(R),一、符号定义,符号表达式的化简函数,表2.1符号化简函数表,二、代数式的符号运算,三、可视化符号函数计算器,函数自运算,启动可视化符号函数计算器:
funtool,函数与常数的运算,两函数间运算,其它功能,可进行函数的运算操作,四、函数的极值和零点,表2.2函数的极值和零点的主要函数表,五、求极限,表2.3符号极限的函数格式,六、求导数和偏导数,1、表达式的导数,diff(s,x,n),2、多元函数的偏导数,diff(函数f(x,y),变量x,n),求出,3、求雅可比矩阵,jacobian(函数f(x,y,z);函数g(x,y,z);函数h(x,y,z),x,y,z),七、积分运算,表2.3符号积分的函数格式,八、级数,表3.3泰勒级数的函数格式,表3.4级数求和函数格式,九、解方程和微分方程,表2.3符号方程求解函数格式,九、解方程和微分方程,表2.4符号微分方程求解的函数格式,第四章MATLAB绘图,一、二维图形绘制,二、三维图形绘制,上机练习,1、plot函数常用形式,plot(x,y),plot(x),plot(x,y,参数),表5.1颜色控制符,plot(x1,y1,参数1,x2,y2,参数1),表5.2线型控制符,表5.3数据点标记符,2、图形的修饰与控制,坐标轴的调整,axis(),axis(控制字符串),表5.4axis控制符,对图形坐标轴的刻度进行标示:
set(gca,xtick,标示向量)set(gca,ytick,标示向量),文字标示,title(字符串)图形标题xlabel(字符串)x轴标注ylabel(字符串)y轴标注text(x,y,字符串)在坐标(x,y)处标注gtext(字符串)用鼠标在指定处标注,图例注解,格式:
legend(字符串1,字符串2,参数),表5.6图例参数的含义,图形保持,hold保持当前图形holdon保持当前图形及轴系的所有特性holdoff解除holdon,网格控制,gridon添加网格线gridoff去掉网格线,图形窗口分割,subplot(m,n,p),图形的填充,fill(x,y,color),3、特殊坐标二维图形,表5.7特殊坐标二维图形函数,4、其它二维图形,MATLAB绘制特殊二维图形,表5.8特殊二维图形函数,Back,1、三维数据生成,生成空间网格:
x,y,z=meshgrid(x,y,z),创建双峰函数:
x,y,z=peaks(n),2、空间曲线的绘制,plot3(x1,y1,z1,参数1,x2,y2,z,参数1,),若x,y,z是同样长度的矢量,则绘制出一条在三维空间贯穿的曲线;若x,y,z是阶的矩阵,则绘制出m条三维空间曲线。
3、空间曲面的绘制,表5.9三维曲面图形函数,一、命令文件,二、函数文件,三、程序流程语句,上机练习,第五章MATLAB语言的程序设计,一、命令文件,1、创建M文件,菜单操作FileNewM-file命令操作edit命令按扭用“新建”小图标,打开M文件,菜单操作Fileopen命令操作edit命令按扭用“打开”小图标,创建M文件,2、M文件的调试,文本编辑器窗口,文本编辑器窗口的调试功能,例1、编写一个命令文件,将变量a,b的值互换,并运行。
程序设计:
a=13579;b=246810;c=a;a=b;b=c;ab,Back,二、函数文件,function输出变量名1,2=函数名(输入变量名或符号表达式),例2、编写一个函数文件,对两个数进行加、减运算。
Back,程序设计:
functionhe,ca=hc(a,b)he=a+b;ca=a-b;,三、程序流程语句,程序的三种基本结构,顺序结构选择结构循环结构,MATLAB的程序流程语句,if语句switch语句try语句,选择结构:
循环结构:
while语句for语句,均以end为结束标志,1、if,if表达式语句组end,单分支if语句基本格式为:
双分支if语句基本格式为:
if表达式语句组1else语句组2end,多分支if语句基本格式为:
if结构是一种条件分支结构,判断某个条件是否成立,如果成立则执行结构内的语句,否则就跳出if分支结构,执行后面的命令。
if表达式语句elseif表达式语句else表达式语句endend,程序设计:
a=100;b=20;ifaa)elsefprintf(ab)end,例3、比较两个数a和b的大小,运行结果:
ab,2、switch,基本格式为:
switch表达式case表达式1语句组1case表达式2语句组2case表达式n语句组notherwise语句组n+1end,switch结构是一种典型的多分支选择结构,根据表达式的结果执行后面与表达式一致的case中的语句。
例4、从键盘输入一个数字,判断它能否被5整除?
程序设计:
n=input(请输入一个数字n=)switchmod(n,5)case0fprintf(n是5的倍数,n)otherwisefprintf(n不是5的倍数,n)end,运行结果:
请输入一个数字:
n=4444不是5的倍数,3、while,是条件循环语句,格式为:
while表达式语句体end,4、for,是记数循环语句,一般格式为:
for与end之间的部分称为循环体,i一般定义为一个循环向量(增量可自定义,缺省值为1)。
这样变量i从初值开始,循环体中的语句每执行一遍i就增加一个增量,直到i=终值为止。
fori=初值:
增量:
终值指令1指令nend,例5、求1+2+100的和?
程序设计:
sum=0;设定初值(必须要有)fori=1:
100;for循环,增量为1sum=sum+I;循环体end结束循环sum运算结果,运行结果:
sum=5050,例6、计算1100的奇数的和。
程序设计:
x=0;sum=0;设定初值(必须要有)whilex101;while循环,逻辑表达式为x101sum=sum+x;循环体1x=x+2;循环体2end结束循环sum运算结果,运行结果:
sum=2550,5、其它流程控制语句,continue语句:
用于控制for循环和while循环跳过某些执行语句,break语句:
用于终止for循环和while循环的执行,return语句:
用于终止当前的程序序列,并返回到调用的函数或键盘操作中,也用于终止keyboard方式,try语句:
是一种试探性执行语句,Back,上机练习,1、用一M文件接受键盘输入的数据,求其立方值。
2、编写一程序,计算平面直角坐标系内两点间的距离。
3、计算分段函数,4、求,5、编写程序:
选取一个正整数(由键盘输入),若为偶数则除以2,若为奇数则乘3加1,重复该过程至该数变为1。
的值。
第六章MATLAB应用,一、数据分析,二、数值插值和曲线拟合,三、数值积分与微分方程数值解,上机练习,四、数学建模实例,表6.1基本统计命令,一、数据分析,表6.2离差函数和相关函数,1、数值插值,一维插值:
Y1=interp1(X,Y,X1,参数),二维插值:
Z1=interp2(X,Y,Z,X1,Y1,参数),表6.3线性插值主要参数,二、数值插值和曲线拟合,2、曲线拟合,P,S=polyfit(X,Y,N),说明:
X,Y是两个等长的向量,X是采样点,Y是采样点函数值,P是长度为N+1的向量,代表N次多项式,即多项式系数矩阵S是采样点的误差向量。
1、辛普生积分quad(函数文件名,a,b),2、梯形法积分trapz(x,y),3、欧拉法积分cumsum(y),4、牛顿柯西法积分quad8(文件名,a,b),5、微分方程的龙格库塔法X,Y=ode23(f,x0,xn,y0)X,Y=ode45(f,x0,xn,y0),三、数值积分与微分方程数值解,假设:
只考虑群体的生与死,不考虑迁移;,设单位时间的出生率为b,单位时间的死亡率为d,在,有,令,则,解上述常微分方程得,Malthus模型,四、数学建模实例,群体生长模型,讨论生物群体(包括微生物、植物、动物、以至于特定地区人口)的变化规律,对模型进行验证,根据美国财政部的估计,1965年1月时全世界的总人口数是33.4亿,而从1960年到1970年间世界人口的平均增长率是2%,用MATLAB画出1900年至2000年间的人口变化曲线,于是,t=1900:
10:
2000;N=33.4.*exp(0.02.*(t-1965);plot(t,N);title(Malthusb人口曲线),用这个模型去预测更远的未来:
输入:
N2050=33.4*exp(0.02*(2050-1965),显示:
N2050=182.8298,输入:
N2500=33.4*exp(0.02*(2500-1965),显示:
N2500=1.4815e+006,这表明Malthus模型虽在短期人口预测上有较好的效果,但不适宜长期预报。
设r为,则,其中,解这个微分方程:
n=dsolve(Dn=n*r*(1-n/k),n(0)=n0,t),得n=k/(1+exp(-r*t)*(k-n0)/n0),即,Logistic模型,Logistic模型有以下特点:
若,则,单调上升,且即为环境资源能够允许的最大人口数(称为环境容纳量);,在N=k/2时Logistic曲线有一拐点,这说明群体总数在达到其最大值一半前是加速生长期,超过一半后则是减速生长期,在此期间内生长速度逐渐降低,并趋于0。
某些生态学家估计生命系数的自然值为0.029,这样可估计出世界人口容量约为107.6亿,则Logistic模型即为:
绘制这个函数在1500,2500内的曲线:
输入t=1500:
10:
2500;N=107.6./(1+2.2216.*exp(-0.029.*(t-1965);plot(t,N,);title(logistic人口曲线),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数学 建模
![提示](https://static.bingdoc.com/images/bang_tan.gif)