MATLAB经典数学建模教程.doc

上传人:小** 文档编号:553172 上传时间:2018-10-25 格式:DOC 页数:88 大小:2.29MB
返回 下载 相关 举报
MATLAB经典数学建模教程.doc_第1页
第1页 / 共88页
MATLAB经典数学建模教程.doc_第2页
第2页 / 共88页
点击查看更多>>
资源描述

《MATLAB经典数学建模教程.doc》由会员分享,可在线阅读,更多相关《MATLAB经典数学建模教程.doc(88页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

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

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

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

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

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

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

8、。zeros(size(A) 生成与矩阵 A 相同大小的全零阵, 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);b=a;subplot(1,2,1),subimage(a),subplot(1,2,2),subimage(b) X 的逆矩阵 inv(X

9、)二、矩阵元素的访问及其大小的确定访问第 n 个元素: X(n) (n=1)访问多个元素: X (n1,n2,n3) 或 X(1:10)确定元素的个数: numel(X)确定矩阵的大小: m,n,l=size(X)三、矩阵的算数运算 数与矩阵的运算:m 等价于 m.mA : m 与 A 中各元素相加|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 矩阵按线性代数中矩阵乘法运算进行相乘(注意维数匹配)

10、A.*B: A、B 对应元素相乘(注意维数相同)A / B: A 除以 B 矩阵 (A B1 ) (注意维数匹配)A./B: A 除以 B 中各元素A B: B 除以 A 矩阵 (A 1 B) (注意维数匹配)A.B: B 除以 A 中各元素Am: 相当于矩阵 A矩阵 A矩阵 A.(m 为小数即是矩阵的开方运算) (注意维数匹配)A.m:矩阵 A 中各元素的 m 次方A.B:矩阵 A 中各元素的进行 B 中对应元素次方(注意维数相同)四、关系运算、= 、= =、 = 六种关系运算符。关系成立结果为 1,否则为 0。五、逻辑运算设矩阵 A 和 B 都是 mn 矩阵或其中之一为标量,在 MATLA

11、B 中定义了如下的逻辑运算: %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 规则: , ;且12kka),2(。现要求计算出该数组中第一个大于 10000 的元素。121aa(1)=1;a(2)=1;i=2;while a(i)8sums=number*0.95*cost;end,sums sums =114.0000 |【例 2】用 for 循环指令来寻求 Fibona

12、cc 数组中第一个大于 10000 的元素。n=100;a=ones(1,n);for i=3:na(i)=a(i-1)+a(i-2);if a(i)=10000a(i),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 xans=-sin(x) M=sym

13、( a,b ;c,d ) % create a symbolic matrix MM=a,bc,d注意:1.建立符号数组时,最好用上函数sym2.许多符号函数可以自动将字符转变为符号表达式。例如diff cos(x) 也可以, diff x2+3*x+5 % the argument is equivalent to x2+3*x+5 符号变量是符号表达式中的变量,如:x+3*y+z 中的 x,y,z。 独立变量是当符号表达式中含有多于一个的变量时,只有一个变量是独立变量。缺省的独立变量是x,如果没有x,则选择最靠近x的作为独立变量。如表达式 1/(5+cos(x) |中是 x ;在 3*y+

14、z 中是 y ;在 a+sin(t) 是 t ,而表达式 sin(pi/4)-cos(3/5) 是一个符号常数无符号变量。可利用函数symvar 询问MATLAB在符号表达式中哪一个变量它认为是独立变量(系统找不到一个独立变量,便假定无独立变量并返回x)。 symvar( a*x+y*) % find the default symbolic variableans=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

15、 symvar( 3*i+4*j ) % i and j are equel to sqrt(-1)ans=x指定独立变量: diff( xn ) % differentiate 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) , ome

16、ga ) % specify the independent variableans=cos(omega)第 2 节 符号表达式运算(目的:更方便的构造符号表达式)标准代数运算:symadd、symsub、symlnul、symdiv :分别为加、减、乘、除两个表达式sympow:将一个表达式上升为另一个表达式的幂次例如:给定两个函数 fxgx23572 f= 2*x2+3*x-5 % define the symbolic expressionf=2*x2+3*x-5 g= x2-x+7 g=x2-x+7| symadd(f,g) % find an expression for f+gan

17、s=3*x2+2*x+2 symsub(f,g) % find an expression for f-gans=x2+4*x-12 symmul(f,g) % find an expression for f*gans=(2*x2+3*x-5)*(x2-x+7) symdiv(f, g) % find an expression for f/gans=(2*x2+3*x-5)/(x2-x+7) sympow(f,3*x) % find an expression for f3*ans =(2*x2+3*x-5)(3*x)联接运算:symop:取由逗号隔开的、多至16个参量。各个参量可为符号表

18、达式、数值或算子( + 、 - 、*、 / 、 、 ( 或 ) ),然后symop 可将参量联接起来,返回最后所得的表达式. f= cos(x) % create an expressionf=cos(x) g= sin(2*x) % create another expressiong=sin(2*x) symop(f,/ ,g,+ ,3) % combine themans=cos(x)/sin(2*x)+3高级运算:compose:把f(x)和g(x) 复合成f(g(x) ;finverse: 求函数的逆函数;symsum:求表达式的序列和。 compose给定表达式 fxgxhu112 2sin()k=sin(v)

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com