MATLAB经典数学建模教程教材课程

上传人:yulij****0329 文档编号:127337346 上传时间:2020-04-01 格式:DOC 页数:88 大小:3.60MB
返回 下载 相关 举报
MATLAB经典数学建模教程教材课程_第1页
第1页 / 共88页
MATLAB经典数学建模教程教材课程_第2页
第2页 / 共88页
MATLAB经典数学建模教程教材课程_第3页
第3页 / 共88页
MATLAB经典数学建模教程教材课程_第4页
第4页 / 共88页
MATLAB经典数学建模教程教材课程_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《MATLAB经典数学建模教程教材课程》由会员分享,可在线阅读,更多相关《MATLAB经典数学建模教程教材课程(88页珍藏版)》请在金锄头文库上搜索。

1、第 1 节 Matlab 基本知识 一、 Matlab 的主要功能Matlab是一种功能非常强大的工程语言,诞生于20世纪70年代,1984年正式推向市场。2002年8月,Matlab6.5开始发布。是进行科学研究和产品开发必不可少的工具。l 数值和符号计算矩阵(数组)的四则运算(MatrixLaboratory)、数值差分、导数、积分、求解微分方程、微分方程的优化等l 数字图像、数字信号处理l 工程和科学绘图l 控制系统设计l 财务工程l 建模、仿真功能二、 Matlab 的界面1.命令窗口(Command Window):Matlab各种操作命令都是由命令窗口开始,用户可以在命令窗口中输入

2、Matlab命令,实现其相应的功能。此命令窗口主要包括文本的编辑区域和菜单栏(如:四则运算;“;”禁止显示变量的值;遍历以前的命令)。在命令窗口空白区域单击鼠标右键,打开快捷菜单,各项命令功能如下:Evaluate Selection :打开所选文本对应的表达式的值。Open Selection :打开文本所对应的MatLab文件。Cut :剪切编辑命令。Paste :粘贴编辑命令。2. M-文件编辑/调试(Editor/Debugger)窗口Matlab Editor/Debugger窗口是一个集编辑与调试两种功能于一体的工具环境。M-文件(函数文件)l 什么是M-文件:它是一种和Dos环境

3、中的批处理文件相似的脚本文件,对于简单问题,直接输入命令即可,但对于复杂的问题和需要反复使用的则需做成M文件(Script File)。l 创建M-文件的方法:Matlab命令窗的File/New/M-file。在Matlab命令窗口运行edit。l M文件的扩展名: *.ml 执行M-文件:F5l M文件的调试 选择Debug菜单,其各项命令功能如下: Step :逐步执行程序。Step in :进入子程序中逐步执行调试程序。Step out :跳出子程序中逐步执行调试程序。run:执行M-文件。Go Until Cursor :执行到光标所在处。Exit Debug Mode :跳出调试状

4、态。l 函数文件的创建要求:文件名与函数名必须相同,如sin(x)必有sin.m函数文件存在。要求实参和形参位置一一对应。形参在工作空间中不会存在。可以编写递归函数,可以嵌套其他函数。可以用return命令返回,也可以执行到终点返回3.工作空间(Workspace)窗口:显示目前保存在内存中的Matlab的数学结构、字节数、变量名以及类型窗口。保存变量:File菜单Save Workspace as 命令行:save 文件名装入变量:File菜单Import Data 命令行:Load 文件名4.现在目录窗口(Current Directory) 5.命令历史窗口(Command Histor

5、y ):提供先前使用过的函数,可以复制或者再次执行这些命令。Matlab帮助系统 Matlab在命令窗口提供了可以获得帮助的命令,用户可以很方便的获得帮助信息。例如:在窗口中输入“help fft”就可以获得函数“fft”的信息。常用的帮助信息有help ,demo ,doc ,who ,whos ,what ,which ,lookfor ,helpbrowser ,helpdesk ,exit ,web 等。三 、关于变量变量命名规则:l 变量名是不包含空格的单个词l 变量名区分大小写l 变量名必须以字母开头的字母、数字、下划线的组合,最多19个字符。l Matlab提供的标准函数名均以小

6、写字母开头特殊变量名:l ans 缺省变量名l pi 圆周率l i,j 虚数单位l eps 无穷小l inf ,Inf 无穷大 l realmax 最大正实数l realmin 最小正实数清除变量的值l clear l clear 变量名1 变量名2显示驻留内存的变量名l whol whos第 2 节 Matlab编程一、 矩阵(数组)的输入1、直接输入直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号( )内;多维矩阵用多重方括弧。可建立复数矩阵如: Null_M = %生成一个空矩阵可建立复数矩阵R=1,2

7、,3;4,5,6I=7,8,9;10,11,12Z=R+I*j2. 由M文件方式建立,今后使用键入M文件名即可建立相应矩阵2、利用函数输入 “:”表达式,产生等差行向量 start:step:end 或start:end(step1)如:t1:20产生等距输入: linspace(a,b,n) 将a,b区间分成n1个等距小区间产生随机排列: randperm(n) 产生1n之间整数的随机排列3、特殊矩阵输入zeros(n) 生成nn全零阵, zeros(a,b) 元素全为0的ab维矩阵, 以下各函数同理具有该类型。zeros(size(A) 生成与矩阵A相同大小的全零阵, ones(a,b)

8、元素全为1的ab维矩阵eye(a,b) 对角线上的元素为1的ab维矩阵rand(a,b) 产生ab维均匀分布的随机矩阵,其元素在(0,1)内rand 无变量输入时只产生一个随机数randn(a,b)产生ab维正态分布的随机矩阵4.矩阵的转置和逆矩阵n X的转置:X ( 图像顺时针旋转90,并水平镜像)如:a=imread(D:2-1.bmp);b=a;subplot(1,2,1),subimage(a),subplot(1,2,2),subimage(b)n X的逆矩阵 inv(X)二、 矩阵元素的访问及其大小的确定访问第n个元素: X(n)(n=1)访问多个元素: X (n1,n2,n3)

9、或 X(1:10)确定元素的个数: numel(X)确定矩阵的大小: m,n,l=size(X)三、 矩阵的算数运算l 数与矩阵的运算:m等价于m.mA : m与A中各元素相加mA : m与A中各元素相减mA : m与A中各元素相乘m. /A : m除以A中各元素 (没有m/A)m A : A中各元素除以ml 矩阵与矩阵的运算AB: A、B对应元素相加AB: A、B对应元素相减AB: A、B矩阵按线性代数中矩阵乘法运算进行相乘(注意维数匹配)A.*B: A、B对应元素相乘(注意维数相同)A / B: A除以B矩阵 (aAB1)(注意维数匹配)A./B: A除以B中各元素A B: B除以A矩阵

10、(aA1B)(注意维数匹配)A.B: B除以A中各元素Am: 相当于矩阵A矩阵A矩阵A.(m为小数即是矩阵的开方运算)(注意维数匹配)A.m:矩阵A中各元素的m次方A.B:矩阵A中各元素的进行B中对应元素次方(注意维数相同)四、 关系运算、=、= =、 = 六种关系运算符。关系成立结果为1,否则为0。五、 逻辑运算设矩阵A和B都是mn矩阵或其中之一为标量,在MATLAB中定义了如下的逻辑运算:&、|、xor(真为1,假为0)(1)矩阵的与运算格式 A&B或and(A, B)说明 A与B对应元素进行与运算,若两个数均非0,则结果元素的值为1,否则为0。(2)或运算格式 A|B或or(A, B)

11、说明 A与B对应元素进行或运算,若两个数均为0,则结果元素的值为0,否则为1。(3)非运算格式 A或not (A)说明 若A的元素为0,则结果元素为1,否则为0。(4)异或运算格式 xor (A,B)说明 A与B对应元素进行异或运算,若相应的两个数中一个为0,一个非0,则结果为0,否则为1。六、 集合运算1两个集合的交集 intersect2检测集合中的元素 ismember3两集合的差 setdiff4两个集合交集的非(异或)函数 setxor5两集合的并集 union6取集合的单值元素 unique七、 MatLab的控制流由各种语句构成语句后面加“;”号,不显示运算结果开头表示是注释语句

12、赋值语句变量表达式表达式 (相当于将值付给ans变量)演示(三)for循环结构【例】一个简单的for循环示例。for i=1:10; %i依次取1,2,10,.x(i)=i; %对每个i值,重复执行由该指令构成的循环体,end; x %要求显示运行后数组x的值。 x = 1 2 3 4 5 6 7 8 9 10 while循环结构【例】Fibonacci数组的元素满足Fibonacci 规则: ,;且。现要求计算出该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;while a(i)8 sums=number*0.95*cost;end,sums sums = 114.0

13、000 【例2】用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。n=100;a=ones(1,n);for i=3:n a(i)=a(i-1)+a(i-2); if a(i)=10000 a(i), break; %跳出所在的一级循环。 end;end,i ans = 10946i =21 switch-case结构【例】学生的成绩管理,演示switch结构的应用。clear; %划分区域:满分(100),优秀(90-99),良好(80-89),及格(60-79),不及格(60)。for i=1:10;ai=89+i;bi=79+i;ci=69+i;di=59+i;end;c=d,c;Name=Jack,Marry,Peter,Rose,Tom;%元胞数组Mark=72,83,56,94,100;Rank=cell(1,5);%创建一个含5个元素的构架数组S,它有三个域。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号