数学建模-Matlab基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数学建模-Matlab基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 Matlab 基础 课件
- 资源描述:
-
1、Matlab基础基础MATLAB作为线性系统的一种分析和仿真工具,是大学生应该掌握的技术工具,它作为一种编程语言和可视化工具,可解决工程工程、科学计算科学计算和数数学学科学学科中许多问题。MATLAB建立在向量向量、数组数组和矩阵矩阵的基础上,使用方便,人机界面直观,输出结果可视化。矩阵矩阵是MATLAB的核心 MATLAB的运行方式(两种)一、变一、变 量量 与与 函函 数数二、数二、数 组组三、矩三、矩 阵阵四、逻辑运算及控制流四、逻辑运算及控制流五、五、Matlab作图作图 1、变量、变量 MATLAB中变量的命名规则命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写
2、;(3)变量名最多不超过32个字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.一、变一、变 量量 与与 函函 数数特殊变量表特殊变量表2、数学运算符号及标点符号、数学运算符号及标点符号+加法运算,适用于两个数或两个同阶矩阵相加.减法运算*乘法运算.*点乘运算/除法运算./点除运算乘幂运算.点乘幂运算反斜杠表示左除.(1)MATLAB的每条命令后,若为逗号逗号或或无标点无标点符号,则显示命令的结果;若命令后为分号分号,则禁止显示结果.(2)“%”后面所有文字为注释.(3)“.”表示续行.3、数学函数、数学函数 MATLAB的内部函数是有限的,有时为
3、了研究某一个函数的各种性态,需要为MATLAB定义新函数,为此必须编写函数文件.函数文件是文件名后缀为M的文件,这类文件的第一行必须是一特殊字符function开始,格式为:function 因变量名=函数名(自变量名)函数值的获得必须通过具体的运算实现,并赋给因变量.4、M文件文件说明:说明:Matlab的应用程序也以的应用程序也以M文件保存。文件保存。1.在在Matlab中,点中,点:File-New-M-file;2.在编辑窗口中输入程序内容在编辑窗口中输入程序内容3.点:点:File-Save,存盘,存盘,M文件名必须与函文件名必须与函数名一致。数名一致。例:定义函数例:定义函数 f(
4、x1,x2)=100(x2-x12)2+(1-x1)2function f=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)2;1.建立建立M文件:文件:fun.m2.可以直接使用函数可以直接使用函数fun.m例如:计算例如:计算 f(1,2),只需在只需在Matlab命令窗口键入命令:命令窗口键入命令:x=1,2fun(x)结合软件介绍。结合软件介绍。重点:断点设置和调试。重点:断点设置和调试。(1)Matlab主菜单及功能 File,Edit,Debug,Desktop,Window,Help(2)Matlab命令窗口5、Matlab桌面桌面(3)Matlab工作空间常用
5、操作命令及功能(4)Matlab文件管理常用命令(5)Matlab帮助使用命令功能who显示当前工作空间中所有变量的简单列表whos列出变量的大小,数据格式等详细信息clear清除工作空间中的所有变量clear 变量名清除指定的变量load从磁盘文件中恢复变量save保存工作空间变量pack整理工作空间内存size(变量名)显示当前工作空间中变量的尺寸length(变量名)显示当前工作空间中变量的长度disp(变量名)显示当前工作空间中变量quit或exit退出工作空间命令功能what显示当前目录下所有与Matlab相关的文件及其路径dir显示当前目录下所有的文件which显示某个文件的路径c
6、d path由当前目录进入path目录type filename在命令窗口中显示文件filenamedelete filename删除文件filenamecd.返回上一级目录cd显示当前目录1、创建简单的数组、创建简单的数组二、数二、数 组组x=a b c d e f 创建包含指定元素的行向量x=first:last 创建从first开始,加1计数,到last结束的行向量注意:这里各个元素之间可用空格分开,也可用逗号分开,即x=a,b,c,d,e,f ,且各个标点符号需在英文状态下输入。x=logspace(a,b,n)创建从10a开始,到10b结束,有n个元素的对数分隔行向量.x=first
7、:increment:last 创建从first开始,加increment计数,last结束的行向量。x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量。2、数组元素的访问数组元素的访问(3)直接使用元素编址序号直接使用元素编址序号.x(a b c d)表示提取数组x的第a、b、c、d个元素构成一个新的数组x(a)x(b)x(c)x(d).eg.x=1,2,3,4,5,6;y=x(1,3,5)(2)访问一块元素访问一块元素:x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.e
8、g.x=1,2,3,4,5,6;y=x(1:2:6)(1)访问一个元素访问一个元素:x(i)表示访问数组x的第i个元素.3 3、数组的方向、数组的方向 前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.产生列向量有两种方法:直接产生 例 c=1;2;3;4 转置产生 例 b=1 2 3 4;c=b 说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.4、数组的运算、数组的运算 (1)标量)标量-数组运算数组运算 数组对标量的加、减、乘、除、乘方是数组的每个元素对该
9、标量施加相应的加、减、乘、除、乘方运算.设:设:a=a1,a2,an,c=标量标量则:则:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c=a1/c,a2/c,an/c(右除)右除)a.c=c/a1,c/a2,c/an(左除)左除)a.c=a1c,a2c,anc c.a=ca1,ca2,can eg.a=1,2,3,4,5,6;c=2;a+ca.*ca./ca.ca.cc.a(2)数组数组-数组运算数组运算 当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.设:设:a=a1,a2,an,b=b1,
10、b2,bn则:则:a+b=a1+b1,a2+b2,an+bn a.*b=a1*b1,a2*b2,an*bn a./b=a1/b1,a2/b2,an/bn a.b=b1/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbn(3)常用的数组操作函数)常用的数组操作函数 三、三、矩矩 阵阵 逗号逗号或或空格空格用于分隔某一行的元素,用于分隔某一行的元素,分号分号用于区用于区分不同的行分不同的行.除了分号,在输入矩阵时,按除了分号,在输入矩阵时,按Enter+Shift键也表示开始一新行键也表示开始一新行.输入矩阵时,严格输入矩阵时,严格要求所有行有相同的列要求所有行有相同的列.例例 m
11、=1 2 3 4;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 31、矩阵的建立、矩阵的建立特殊矩阵特殊矩阵的建立:E=eye(m,n)产生一个产生一个m行、行、n列的单位矩阵列的单位矩阵D=ones(m,n)产生一个产生一个m行、行、n列元素全为列元素全为1的矩阵的矩阵C=zeros(m,n)产生一个产生一个m行、行、n列的零矩阵列的零矩阵A=产生一个空矩阵(空矩阵的大小为零)产生一个空矩阵(空矩阵的大小为零)F=diag(x,k)创建一个主对角元对应于数组创建一个主对角元对应于数组x的对角矩阵的对角矩阵f=diag(X,k)提取二维矩阵提取二维矩阵X
12、的第的第k条对角线元素组成的条对角线元素组成的一维矩阵一维矩阵B=rand(m,n)产生一个产生一个m行、行、n列的随机矩阵列的随机矩阵2、矩阵中元素的操作、矩阵中元素的操作(1)矩阵)矩阵A的第的第r行:行:A(r,:),:)(2)矩阵)矩阵A的第的第r列:列:A(:,(:,r)(4)取矩阵)取矩阵A的第的第i1i2行、第行、第j1j2列构成新矩阵列构成新矩阵:A(i1:i2,j1:j2)(5)以逆序提取矩阵)以逆序提取矩阵A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i2:-1:i1,:),:)(6)以逆序提取矩阵)以逆序提取矩阵A的第的第j1j2列,构成新矩阵列,构成新矩阵:A(:
13、,j2:-1:j1)(7)删除)删除A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i1:i2,:,:)=(8)删除)删除A的第的第j1j2列,构成新矩阵列,构成新矩阵:A(:,:,j1:j2)=(9)将矩阵)将矩阵A和和B拼接成新矩阵:拼接成新矩阵:A B;A;B(3)依次提取矩阵)依次提取矩阵A的每一列,将的每一列,将A拉伸为一个列向量:拉伸为一个列向量:A(:)(:)(2)矩阵矩阵-矩阵运算矩阵运算 3、矩阵的运算、矩阵的运算(1)标量)标量-矩阵运算矩阵运算 2矩阵运算:矩阵运算:矩阵加法:矩阵加法:A+B矩阵乘法:矩阵乘法:A*B方阵的行列式:方阵的行列式:det(A)方阵的逆:
14、方阵的逆:inv(A)方阵的特征值与特征向量:方阵的特征值与特征向量:V,D=eigA1 元素对元素的运算,同数组元素对元素的运算,同数组-数组运算。数组运算。同标量同标量-数组运算。数组运算。练习:练习:3.对上题中对上题中A求出其特征值及特征向量。求出其特征值及特征向量。4、常见的矩阵操作、常见的矩阵操作(1)矩阵索引与寻址)矩阵索引与寻址 1数字索引方式数字索引方式 A(m)%单下标索引访问矩阵第单下标索引访问矩阵第m个元素个元素 A(m,n)%双下标索引访问矩阵第双下标索引访问矩阵第m行第行第n列的元素列的元素 A(m:n)%单下标索引访问矩阵第单下标索引访问矩阵第m到第到第n个元素个
15、元素 A(m1:m2,n1:n2)%双下标索引访问矩阵第双下标索引访问矩阵第m1至至m2行,第行,第n1至至n2列的元素列的元素 A(m1,m2,n1,n2,)%双下标索引访问矩阵第双下标索引访问矩阵第m1,m2,行,第行,第n1,n2,列的元素列的元素2单下标索引和双下标索引的转换单下标索引和双下标索引的转换 IND=sub2ind(siz,I,J)%单转双单转双 I,J=ind2sub(siz,IND)%双转单双转单(2)逻辑索引方式)逻辑索引方式 可通过下面一段程序了解其用法:可通过下面一段程序了解其用法:A=rand(5)B=A0.8%通过比较关系运算产生逻辑索引通过比较关系运算产生逻
16、辑索引A(B)=0 通过逻辑索引访问原矩阵元素,并重新赋值通过逻辑索引访问原矩阵元素,并重新赋值(3)索引扩展)索引扩展若对超出矩阵范围的元素赋值,则默认扩展至该元素,若对超出矩阵范围的元素赋值,则默认扩展至该元素,且补充元素默认赋值为且补充元素默认赋值为0,可通过下例了解,可通过下例了解A=eye(3)A(4,6)=25(4)矩阵翻转)矩阵翻转 函数及语法说明fliplr(A)左右翻转Aflipud(A)上下翻转Aflipdim(A,k)按k指定的方向翻转Arot90(A,k)逆时针k*90度翻转A(5)矩阵查找)矩阵查找 可通过下面一段程序了解此用法:可通过下面一段程序了解此用法:A=ra
17、nd(3,5)B=(A0.3)&(A0.5)C=find(B)%查找逻辑矩阵中的非零元素,返回复合关系的元素索查找逻辑矩阵中的非零元素,返回复合关系的元素索 引单下标引单下标A(C)%实现元素访问实现元素访问(6)矩阵排序)矩阵排序 练习:练习:A=rand(1,8)sort(A)B,I=sort(A,descend)A(I)C=rand(3,6)sort(C)D,I=sort(C,2)C(I)B,IX=sort(A,dim,mode)%dim代表指定方向,代表指定方向,dim=1表示对每列排序,表示对每列排序,dim=2表示对每表示对每行排序,缺省时默认为行排序,缺省时默认为1%mode代表
18、排序模式,代表排序模式,mode=asend时为升序,时为升序,mode=descend时为降序时为降序%IX为排序后各元素在原矩阵中的行位置或列位置的索引为排序后各元素在原矩阵中的行位置或列位置的索引(7)多维矩阵)多维矩阵 练习:通过下面的小段程序体会其操作练习:通过下面的小段程序体会其操作A=randn(2,5,2)sum(A)sin(A)eig(A(:,1 2,1)A=ones(3,3,4)表示什么?表示什么?B=eye(3,3,4,2)又表示什么?又表示什么?四、逻辑运算及控制流四、逻辑运算及控制流 1、逻辑运算(、逻辑运算(1)关系操作符)关系操作符关关系系操操作作符符说说明明小小
19、于于大大于于=大大于于或或等等于于=等等于于=不不等等于于(2)逻辑运算符)逻辑运算符逻辑操作符逻辑操作符说明说明与与或或非非2、控制流、控制流MATLAB提供以下几种决策或控制流结构:提供以下几种决策或控制流结构:for循环、循环、while循环、循环、if-else-end结构、结构、swich-case-otherwise结构、结构、continue语句语句(直接进直接进入下次循环入下次循环)、break语句语句(退出循环退出循环)、try-catch-end结构结构(错误控制错误控制)、retune语句语句(程序终止程序终止).这些结构经常包含大量的这些结构经常包含大量的MATLAB命
20、令,命令,故经常出现在故经常出现在MATLAB程序中,而不是直接加在程序中,而不是直接加在MATLAB提示符下提示符下.(1)for循环:允许一组命令以固定的和预定的次数循环:允许一组命令以固定的和预定的次数重复重复 for x=array commands end在在for和和end语句之间的命令串语句之间的命令串commands按数组(按数组(array)中的每一列执行一次中的每一列执行一次.在每一次迭代中,在每一次迭代中,x被指被指定为数组的下一列,即在第定为数组的下一列,即在第n次循环中,次循环中,x=array(:,n)。eg.求求n=3,6,9,12时时n!的值,要求对应详细说明输
21、出。的值,要求对应详细说明输出。while expression commands end 只要在表达式只要在表达式(expression)里的所有元素为真,就里的所有元素为真,就执行执行while和和end语句之间的命令串语句之间的命令串commands.2、While循环循环 与与for循环以固定次数求一组命令相反,循环以固定次数求一组命令相反,while循环循环以不定的次数求一组语句的值以不定的次数求一组语句的值.eg.设银行年利率为设银行年利率为11.25%。将。将10000元钱存入银元钱存入银行,问多长时间会连本带利翻一番?行,问多长时间会连本带利翻一番?3、if-elseif-en
22、d结构结构(1)有一个选择的一般形式是:)有一个选择的一般形式是:if expression commands end 如果在表达式如果在表达式(expression)里的所有元素为真,里的所有元素为真,就执行就执行if和和end语句之间的命令串语句之间的命令串commands.)1(),2(,1211)(2ffxxxxxf求设例 先建立先建立M文件文件fun1.m定义函数定义函数f(x),再在),再在Matlab命令命令窗口输入窗口输入fun1(2),fun1(-1)即可。即可。2)有三个或更多的选择的一般形式是:有三个或更多的选择的一般形式是:if (expression1)command
23、s1 elseif (expression2)commands2 elseif (expression3)commands3 elseif else commands end)1(),5.0(),2(,0 x1x021x1xf(x)32fffxx求设例 先建立先建立M文件文件fun2.m定义函数定义函数f(x),再在),再在Matlab命令窗口输入命令窗口输入fun2(2),fun2(0.5),fun2(-1)即即可。可。练习:练习:用此结构编写输入年份判断是否闰年的程序。用此结构编写输入年份判断是否闰年的程序。对以下问题对以下问题,编写编写M文件文件:(1)用起泡法对用起泡法对10个数由小到
24、大排序个数由小到大排序.即将相即将相邻两个数比较邻两个数比较,将小的调到前头将小的调到前头.(2)有一个有一个 矩阵矩阵,编程求出其最大值及其编程求出其最大值及其所处的位置所处的位置.(3)编程求编程求54101!nn实验练习实验练习1.二维图形二维图形2.三维图形三维图形3.图形处理图形处理4.特殊二、三维图形特殊二、三维图形Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.命令为:plot(X,Y,Splot(X,Y,S)X,Y是向量,分别表示点集的横坐标和纵坐标线型(1)
25、二维曲线图)二维曲线图线型线型说明说明标记符标记符说明说明颜色颜色说明说明-实线实线(默认默认)+加号符加号符r r红色红色-双划线双划线o o空心圆空心圆g g绿色绿色:虚线虚线*星号星号b b蓝色蓝色:.:.点划线点划线.实心圆实心圆c c青绿色青绿色x x叉号符叉号符m m洋红色洋红色s s正方形正方形y y黄色黄色d d菱形菱形k k黑色黑色 上三角形上三角形w w白色白色v v下三角形下三角形 右三角形右三角形左三角形左三角形p p五角星五角星h h六边形六边形plot绘图中线宽和标记点格式设置:plot(X,Y)画实线plot(X,Y1,S1,X,Y2,S2,X,Yn,Sn)将多条
展开阅读全文