MATLAB精彩资料数学建模教学教育资料.doc
《MATLAB精彩资料数学建模教学教育资料.doc》由会员分享,可在线阅读,更多相关《MATLAB精彩资料数学建模教学教育资料.doc(88页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第 1 节节 Matlab 基本知识基本知识 一、一、 Matlab 的主要功能的主要功能Matlab 是一种功能非常强大的工程语言,诞生于是一种功能非常强大的工程语言,诞生于 20 世纪世纪 70 年代,年代,1984 年正式推向年正式推向 市场。市场。2002 年年 8 月,月,Matlab6.5 开始发布。是进行科学研究和产品开发必不可少的工具。开始发布。是进行科学研究和产品开发必不可少的工具。 数值和符号计算数值和符号计算 矩阵矩阵(数组数组)的四则运算(的四则运算(MatrixLaboratory) 、数值差分、导数、积分、求解微分方、数值差分、导数、积分、求解微分方 程、微分方程
2、的优化等程、微分方程的优化等 数字图像、数字信号处理数字图像、数字信号处理 工程和科学绘图工程和科学绘图 控制系统设计控制系统设计 财务工程财务工程 建模、仿真功能二、二、 Matlab 的界面的界面1.1.命令窗口命令窗口(Command Window):):Matlab 各种操作命令都是由命令窗口开始,用户可以在命令窗口中输入各种操作命令都是由命令窗口开始,用户可以在命令窗口中输入 Matlab 命令,实命令,实现其相应的功能。此命令窗口主要包括文本的编辑区域和菜单栏(如:四则运算;现其相应的功能。此命令窗口主要包括文本的编辑区域和菜单栏(如:四则运算;“;”禁禁止显示变量的值;止显示变量
3、的值;遍历以前的命令)遍历以前的命令) 。在命令窗口空白区域单击鼠标右键,打开快捷菜。在命令窗口空白区域单击鼠标右键,打开快捷菜单,各项命令功能如下:单,各项命令功能如下:Evaluate Selection :打开所选文本对应的表达式的值。打开所选文本对应的表达式的值。Open Selection :打开文本所对应的打开文本所对应的 MatLab 文件。文件。 Cut :剪切编辑命令。剪切编辑命令。 Paste :粘贴编辑命令。粘贴编辑命令。2.2. M-文件编辑文件编辑/调试(调试(Editor/Debugger)窗口)窗口Matlab Editor/Debugger 窗口是一个集编辑与调
4、试两种功能于一体的工具环境。窗口是一个集编辑与调试两种功能于一体的工具环境。M-文件(函数文件)文件(函数文件)什么是什么是 M-文件:它是一种和文件:它是一种和 Dos 环境中的批处理文件相似的脚本文件,对于简单问环境中的批处理文件相似的脚本文件,对于简单问 题,直接输入命令即可,但对于复杂的问题和需要反复使用的则需做成题,直接输入命令即可,但对于复杂的问题和需要反复使用的则需做成 M文件文件 (Script File) 。 创建创建 M-文件的方法:文件的方法: Matlab 命令窗的命令窗的 File/New/M-file。 在在 Matlab 命令窗口运行命令窗口运行 edit。 M文
5、件的扩展名:文件的扩展名: *.m 执行执行 M-文件:文件:F5 M 文件的调试文件的调试选择选择 Debug 菜单,其各项命令功能如下:菜单,其各项命令功能如下:Step :逐步执行程序。逐步执行程序。 Step in :进入子程序中逐步执行调试程序。进入子程序中逐步执行调试程序。Step out :跳出子程序中逐步执行调试程序。跳出子程序中逐步执行调试程序。 run:执行执行 M-文件。文件。 Go Until Cursor :执行到光标所在处。执行到光标所在处。 Exit Debug Mode :跳出调试状态。跳出调试状态。 函数文件的创建要求:文件名与函数名必须相同,如函数文件的创建
6、要求:文件名与函数名必须相同,如 sin(x)必有必有 sin.m 函数文件存在。函数文件存在。 要求实参和形参位置一一对应。形参在工作空间中不会存在。要求实参和形参位置一一对应。形参在工作空间中不会存在。 可以编写递归函数,可以嵌套其他函数。可以编写递归函数,可以嵌套其他函数。 可以用可以用 return 命令返回,也可以执行到终点返回命令返回,也可以执行到终点返回3.3.工作空间工作空间(Workspace)窗口:)窗口: 显示目前保存在内存中的显示目前保存在内存中的 Matlab 的数学结构、字节数、变量名以及类型窗口。的数学结构、字节数、变量名以及类型窗口。 保存变量:保存变量:Fil
7、e 菜单菜单Save Workspace as 命令行:命令行:save 文件名文件名 装入变量:装入变量:File 菜单菜单Import Data 命令行:命令行:Load 文件名文件名 4.4.现在目录窗口现在目录窗口(Current Directory) 5.5.命令历史窗口命令历史窗口(Command History ):提供先前使用过的函数,可以复制或者再次执行):提供先前使用过的函数,可以复制或者再次执行 这些命令。这些命令。Matlab 帮助系统帮助系统Matlab 在命令窗口提供了可以获得帮助的命令,用户可以很方便的获得帮助信息。 例如:在窗口中输入“help fft”就可以获
8、得函数“fft”的信息。常用的帮助信息有 help ,demo ,doc ,who ,whos ,what ,which ,lookfor ,helpbrowser ,helpdesk ,exit ,web 等。三三、关于变量、关于变量变量命名规则:变量命名规则: 变量名是不包含空格的单个词变量名是不包含空格的单个词 变量名区分大小写变量名区分大小写 变量名必须以字母开头的字母、数字、下划线的组合,最多变量名必须以字母开头的字母、数字、下划线的组合,最多 19 个字符。个字符。 Matlab 提供的标准函数名均以小写字母开头提供的标准函数名均以小写字母开头 特殊变量名:特殊变量名: ans 缺
9、省变量名缺省变量名 pi 圆周率圆周率 i,j 虚数单位虚数单位 eps 无穷小无穷小 inf ,Inf 无穷大无穷大 realmax 最大正实数最大正实数 realmin 最小正实数最小正实数 清除变量的值清除变量的值 clear clear 变量名变量名 1 变量名变量名 2 显示驻留内存的变量名显示驻留内存的变量名 who whos第第 2 节节 Matlab 编程编程一、一、矩阵(数组)的输入矩阵(数组)的输入1、直接输入、直接输入 直接按行方式输入每个元素:同一行中的元素用逗号(,直接按行方式输入每个元素:同一行中的元素用逗号(, )或者用空格符来分隔,且空)或者用空格符来分隔,且空
10、 格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号(格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号( )内;多维矩阵用)内;多维矩阵用 多重方括弧。可建立复数矩阵多重方括弧。可建立复数矩阵 如:如: Null_M = %生成一个空矩阵生成一个空矩阵 可建立复数矩阵可建立复数矩阵 R=1,2,3;4,5,6 I=7,8,9;10,11,12 Z=R+I*j 2. 由由 M 文件方式建立,今后使用键入文件方式建立,今后使用键入 M 文件名即可建立相应矩阵文件名即可建立相应矩阵 2、利用函数输入、利用函数输入“:”表达式,产生等差行向量表达式,产生等差行向量 start:ste
11、p: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 相同大小的全零阵,相同大小的全
12、零阵, ones(a,b) 元素全为元素全为 1 的的 ab 维矩阵维矩阵 eye(a,b) 对角线上的元素为对角线上的元素为 1 的的 ab 维矩阵维矩阵 rand(a,b) 产生产生 ab 维均匀分布的随机矩阵,其元素在(维均匀分布的随机矩阵,其元素在(0,1)内)内 rand 无变量输入时只产生一个随机数无变量输入时只产生一个随机数 randn(a,b)产生)产生 ab 维正态分布的随机矩阵维正态分布的随机矩阵 4.矩阵的转置和逆矩阵矩阵的转置和逆矩阵 X 的转置:的转置:X ( 图像顺时针旋转图像顺时针旋转 90,并水平镜像,并水平镜像) 如:如:a=imread(D:2-1.bmp)
13、; b=a; subplot(1,2,1),subimage(a),subplot(1,2,2),subimage(b) X 的逆矩阵的逆矩阵 inv(X)二、二、矩阵元素的访问及其大小的确定矩阵元素的访问及其大小的确定访问第访问第 n 个元素:个元素: X(n) (n=1) 访问多个元素:访问多个元素: X (n1,n2,n3) 或或 X(1:10) 确定元素的个数:确定元素的个数: numel(X) 确定矩阵的大小:确定矩阵的大小: m,n,l=size(X)三、三、矩阵的算数运算矩阵的算数运算数与矩阵的运算:数与矩阵的运算:m 等价于等价于 m. mA : m 与与 A 中各元素相加中各
14、元素相加mA : m 与与 A 中各元素相减中各元素相减mA : m 与与 A 中各元素相乘中各元素相乘 m. /A : m 除以除以 A 中各元素中各元素 (没有(没有 m/A) m A : A 中各元素除以中各元素除以 m 矩阵与矩阵的运算矩阵与矩阵的运算 AB: A、B 对应元素相加对应元素相加 AB: A、B 对应元素相减对应元素相减AB: A、B 矩阵按线性代数中矩阵乘法运算进行相乘(注意维数匹配)矩阵按线性代数中矩阵乘法运算进行相乘(注意维数匹配) A.*B: A、B 对应元素相乘(注意维数相同)对应元素相乘(注意维数相同) A / B: A 除以除以 B 矩阵矩阵 (AB1) (
15、注意维数匹配)(注意维数匹配) A./B: A 除以除以 B 中各元素中各元素 A B: B 除以除以 A 矩阵矩阵 (A1B) (注意维数匹配)(注意维数匹配) A.B: B 除以除以 A 中各元素中各元素 Am: 相当于矩阵相当于矩阵 A矩阵矩阵 A矩阵矩阵 A.(m 为小数即是矩阵的开方运算)为小数即是矩阵的开方运算) (注意维数(注意维数 匹配)匹配) A.m:矩阵:矩阵 A 中各元素的中各元素的 m 次方次方 A.B:矩阵:矩阵 A 中各元素的进行中各元素的进行 B 中对应元素次方(注意维数相同)中对应元素次方(注意维数相同)四、四、关系运算关系运算、=、= =、 = 六种关系运算符
16、。关系成立结果为六种关系运算符。关系成立结果为 1,否则为,否则为 0。五、五、逻辑运算逻辑运算设矩阵设矩阵 A 和和 B 都是都是 mn 矩阵或其中之一为标量,在矩阵或其中之一为标量,在 MATLAB 中定义了如下的逻辑中定义了如下的逻辑 运算:运算: %i 依次取依次取 1,2,10,.x(i)=i; %对每个对每个 i 值,重复执行由该指令构成的循环体,值,重复执行由该指令构成的循环体, end; x %要求显示运行后数组要求显示运行后数组 x 的值。的值。 x =1 2 3 4 5 6 7 8 9 10 while 循环结构循环结构【例例】Fibonacci 数组的元素满足数组的元素满
17、足 Fibonacci 规则:规则: ,;且;且12kkkaaa), 2 , 1(k。现要求计算出该数组中第一个大于。现要求计算出该数组中第一个大于 10000 的元素。的元素。121 aaa(1)=1;a(2)=1;i=2;while a(i)8sums=number*0.95*cost;end,sums sums =114.0000 【例例 2】用用 for 循环指令来寻求循环指令来寻求 Fibonacc 数组中第一个大于数组中第一个大于 10000 的元素。的元素。n=100;a=ones(1,n);for i=3:na(i)=a(i-1)+a(i-2);if a(i)=10000a(i
18、),break; %跳出所在的一级循环。跳出所在的一级循环。end; end,i ans =10946i =21 switch-case 结构结构 【例例】学生的成绩管理,演示学生的成绩管理,演示 switch 结构的应用。结构的应用。 clear; %划分区域:满分划分区域:满分(100),优秀,优秀(90-99),良好,良好(80-89),及格,及格(60-79),不及格,不及格( diff( cos(x) ) % differentiate cos(x) with respect to x ans= -sin(x) M=sym( a,b;c,d ) % create a symbolic
19、 matrix M M= a,b c,d注意:注意:1.1.建立符号数组时,最好用上函数建立符号数组时,最好用上函数sym 2.2.许多符号函数可以自动将字符转变为符号表达式。例如许多符号函数可以自动将字符转变为符号表达式。例如diff cos(x) 也可以,也可以, diff x2+3*x+5 % the argument is equivalent to x2+3*x+5 符号变量符号变量是符号表达式中的变量,如:是符号表达式中的变量,如:x+3*y+zx+3*y+z中的中的x,y,zx,y,z。 独立变量独立变量是当符号表达式中含有多于一个的变量时,只有一个变量是独立变量。缺省是当符号表
20、达式中含有多于一个的变量时,只有一个变量是独立变量。缺省 的独立变量是的独立变量是x x,如果没有,如果没有x x,则选择最靠近,则选择最靠近x x的作为独立变量。如表达式的作为独立变量。如表达式 1/(5+cos(x) 中是中是 x ;在;在 3*y+z 中是中是 y ;在;在 a+sin(t) 是是 t ,而表达式,而表达式 sin(pi/4)-cos(3/5) 是一个符号常数无符号变量。可利用函数是一个符号常数无符号变量。可利用函数symvar询问询问MATLAB在符号表达式中哪一个变在符号表达式中哪一个变 量它认为是独立变量量它认为是独立变量( (系统找不到一个独立变量,便假定无独立变
21、量并返回系统找不到一个独立变量,便假定无独立变量并返回x)。 symvar( a*x+y*) % find the default symbolic variable ans= x symvar( a*t+s/(u+3) ) % u is the closest to x ans= u symvar( sin(omega) ) % omega is not a singlee character。 ans= x symvar( 3*i+4*j ) % i and j are equel to sqrt(-1) ans= x 指定独立变量:指定独立变量: diff( xn ) % differe
22、ntiate with respect to the default variable x ans= xn*n/x diff( xn , n ) % differentiate xn with respect to n ans= xn*log(x) diff( sin(omega) ) % differentiate using the default variables (x) ans= 0 diff( sin(omega) , omega ) % specify the independent variable ans= cos(omega)第第 2 节节 符号表达式运算(目的:更方便的构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 精彩 资料 数学 建模 教学 教育
限制150内