数学建模-引言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab与数学建模
周晓军
贵州师范大学数学与计算机科学学院
zxj0702@
2010.9
上课须知
⏹按时上课
⏹爱护机房卫生
⏹上机时,保持机房安静⏹下机后,请关闭计算机
公共邮箱
用户名:sxjm_2011@ 密码:sxjm2011
QQ群名称:2011贵师大数模QQ群号码:149408990
全国大学生数学建模竞赛(中文网):
/
全国大学生数学建模竞赛(英文网): /
Matlab与数学建模
⏹杨一都等编著:Matlab6.5与数值计算,2005
⏹王沫然: MATLAB 与科学计算(第2版) ,电子工业出版社,2003
⏹薛定宇,陈阳泉:高等应用数学问题的MATLAB求解(第2版),清华大学出版社,2008
⏹万福永,戴浩晖,潘建瑜:数学实验教程(Matlab版) ,科学出版社,2010
⏹萧树铁,姜启源,张立平,何青等:大学数学:数学实验(第2版) ,高等教育出版社,2006
⏹赵静等: 数学建模与数学实验(第2版)(附光盘),高等教育出版社,2003
有关期刊
•高校应用数学学报(CSIAM会刊,交叉学科)•工程数学学报(CSIAM会刊,实际应用)•数学的实践与认识
•CSIAM 年会论文集
•Mathematical and Computer Modeling(美)•中国大学教学
•全国数学建模教学与应用会议论文集
Matlab与数学建模
❑用计算机解决数学问题
❑数学软件
✓公共的基础软件:BASIC,FORTRAN,C,Pascal ✓矩阵实验室系统:Matlab,Scilab,Octave
✓计算机代数系统:Mathematica,Maple
✓交互式数学系统:MathCAD
❑Matlab是一种广泛应用于工程计算及
数值分析领域的新型高级语言,自1984
年推向市场以来,历经二十多年的发展
与竞争,现已成为国际公认的最优秀的
工程应用开发环境。

❑在欧美各高等院校,Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。

Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

❑Matlab: Mat rix Lab oratry 矩阵实验室
❑Matlab 的发展
1980年,Moler 教授用Fortran 语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。

1984年,Moler 等成立了The MathWorks 的公司,用
C 语言完全改写Matlab,并推出第一个商业版。

增添图形图像处理、符号运算、以及与其他流行软件
的接口功能,使得Matlab 的功能越来越强大。

到九十年代,在国际上30 几个数学类科技应用软件中,Matlab 在数值计算方面独占鳌头。

Matlab 简介
❑目前,Matlab 已经成为国际上最流行的科学与工程计算的软件工具,是一种具有广泛应用前景的全新的计算机高级编
程语言了,有人称它为“第四代”计算机语言。

就影响而言,至今仍然没有一个别的计算软件可与Matlab 匹敌。

❑Matlab 的发行
1984年,Matlab1.0 (DOS版,182K,20多个函数)
1992年,Matlab 4.0(93年推出Windows版,加入simulink)
1994年,Matlab 4.2(得到广泛重视和应用)
1999年,Matlab 5.3(真正实现32位运算)
2002年,Matlab 6.5(采用JIT加速器)
2004年,Matlab 7.0
Matlab 的发行
2006年Matlab7.3 R2006b 2007年Matlab 7.4 R2007a 2007年Matlab 7.5 R2007b 2008年Matlab 7.6 R2008a 2008年Matlab 7.7 R2008b 2009年3月6日Matlab 7.8 R2009a 2009年9月4日Matlab 7.9 R2009b 2010年3月5日Matlab 7.10 R2010a
❑购买(下载)Matlab 软件
Matlab 的安装
❑插入光盘,自动运行;或点击安装程序
setup.exe
Matlab 的特点与功能
❑Matlab 具有很强的数值计算功能
✓Matlab 以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维)
✓按照IEEE 的数值计算标准进行计算
✓提供十分丰富的数值计算函数,方便计算,提高效率
✓Matlab 命令与数学中的符号、公式非常接近,可读性强,容易掌握
❑Matlab 是一个交互式软件系统
输入一条命令,立即就可以得出该命令的结果
Matlab 的特点与功能
❑Matlab 符号计算功能
Matlab 和著名的符号计算语言Maple 相结合
❑Matlab 的编程功能
Matlab 具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。

通过Matlab 提供的编程语言进行编程完成特定的任务
❑Matlab 的绘图功能
Matlab 提供丰富的绘图命令,
很方便实现数据的可视化
❑Matlab 丰富的工具箱(toolbox )
Matlab 的特点与功能
根据专门领域中的特殊需要而设计的各种可选工具箱
❑Matlab 的Simulink 动态仿真集成环境
提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能
Symbolic Math PDE Optimization Signal process Image Process Statistics Control System
System Identification ……
Matlab 的基本用法
❑Matlab 系统的启动
✓使用Windows “开始”菜单
✓运行Matlab 系统启动程序matlab
✓双击Matlab 快捷图标
❑Matlab 系统的退出
在Matlab 主窗口File菜单中选择Exit Matlab命令在Matlab 命令窗口输入exit 或quit命令
单击Matlab 主窗口的“关闭”按钮
Matlab 的工作界面命令窗口当前工
作目录当前工
作空间输入命令的
历史记录
命令
提示符
矩阵
❑Matlab 的操作对象是矩阵
❑矩阵的直接排列输入
例:>>A = [1 2 3; 4 5 6; 7 8 9]
✓矩阵用方括号“[ ]”括起
✓矩阵同一行中的元素之间用空格或逗号分隔✓矩阵行与行之间用分号分开
✓直接输入法中,分号可以用回车代替
例:
矩阵元素赋值
❑矩阵元素可以是任何数值表达式例:>>x = [-1.3, sqrt(3), (1+2+3)*4/5 ]
❑矩阵元素的单独赋值
例:>>x(5) = abs(x(1))
注:Matlab自动将向量x 的长度扩展到5,并将未赋值部分置零。

例:>>x(5) = abs(x(6)) ??
矩阵元素赋值
大矩阵可以把小矩阵作为其元素
例:>>A = [A; 11 12 13 ]
在原矩阵的下方加一行
如何在原矩阵的右边添加一列?
❑单个元素的引用
例:>>A(2,3)
矩阵元素的引用
❑多个元素的引用:冒号的特殊用法利用小括弧和元素所在的位置(下标)
x(i ):向量x 中的第i 个元素
A(i, j ):矩阵A 中的第i 行,第j 列元素a:b:c 产生一个由等差序列组成的向量;a 是首项,b 是公
差,c 确定最后一项;若b=1,则b 可以省略。

例:>>x=1:2:5>>y=1:2:6例:>>x=2:1:5>>y=2:5
例:>>x=3:2:1
矩阵元素的引用
多个元素的引用(续)
例:>>x(1:3)
>>A(3,1:3)
A(i:j, m:n) 表示由矩阵A 的第i到第j行和第m到第n 列交叉线上的元素组成的子矩阵。

可利用冒号提取矩阵的整行或整列。

例:>>A(1, :)
>>A(:, 1:2)
>>A(:, :)
Matlab帮助系统
❑联机帮助
help显示指定命令的简短使用说明
例:>>help eig
>>help help
❑详细使用帮助
doc以网页形式显示指定命令的帮助页例:>>doc eig
❑其它相关命令
helpdesk、helpwin、more
Matlab 查找命令
❑lookfor按指定的关键词查询与之相关的命令例:>>lookfor inverse
❑which显示指定函数所在的目录
例:>>which eig
❑其它相关命令
what、more、cd、dir
Matlab 变量
❑变量命名原则
◆以字母开头
◆后面可以跟字母、数字和下划线
◆长度不超过63 个字符(6.5 版本以前为19 个)◆变量名区分字母的大小写
❑Matlab 语句的通常形式
变量=表达式
表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号“=”左边的变量
分号和续行符的作用
Matlab 变量
►若不想在屏幕上输出结果,可以在语句最后加分号►如果语句很长,可用续行符“…”(三个点)续行续行符的前面最好留一个空格
例:
变量的查询
Matlab
变量
who显示工作空间中的所有变量whos查看工作空间中变量的详细属性
Matlab 变量
❑系统预定义变量
◆pi圆周率π,其值为imag(log(-1))
◆inf/Inf无穷大
◆nan/NaN Not-a-Number,一个不定值,如0/0◆eps浮点运算相对精度
◆i/j虚部单位,即1-
应尽量避免给系统预定义变量重新赋值!
❑特殊变量ans
Matlab 数值运算
❑数与算术表达式
◆Matlab 中的数默认是双精度实数,表示方法同C 语言
3, -9, 0.4, 1.603e-12, 3.23e+20
◆浮点运算的相对误差为eps
◆浮点数表示范围为:10-308~10308
◆复数的输入
✓z=3+4i(4 与i 之间不能有空格)
✓z=3+4*i
复数作为矩阵元素输入时,加号两边不能有空格!
Matlab 数值运算
❑数学运算符
◆+加法
◆-减法
◆*乘法
◆/ 和\除法(右除和左除)◆^幂运算
Matlab 的输出
❑输出格式
◆Matlab 以双精度执行所有的运算,运算结果可以在
屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”
◆Matlab 中数的输出格式可以通过format命令指定
format 只改变变量的输出格式,但不会影响变量的值!
各种format 格式
格式解释例
format短格式(缺省显示格式),同short 3.1416
format short短格式(缺省显示格式),只显示5位 3.1416
format long长格式,双精度数15位,单精度数7位 3.14159265358979 format short e短格式e方式(科学计数格式) 3.1416e+000 format long e长格式e方式 3.141592653589793e+000 format short g短格式g方式 3.1416
format long g长格式g方式 3.14159265358979 format compact压缩格式
format loose自由格式
format + /format bank / format rat / format hex (详情查看联机帮助)
Excel数据的读取
使用方法
num = xlsread(filename)
从指定文件名夹读取,比如说num=xlsread(…data.xls‟),即从当前程序所在文件夹里,从A1单元格开始读取,读取data.xls文件,把数据返回给num。

num = xlsread(filename, -1)
用户可以使用鼠标选择单元格范围。

NUMERIC=xlsread('c:\matlab\work\Book1','sheet2',' a2:j5')
sheet和单元格范围同时限制。

❑清除当前工作空间中的变量
◆clear 清除当前工作空间中的所有变量◆clear A x 清除指定的变量
几个小技巧
❑Matlab 的命令记忆功能:上下箭头键
可以先输入命令的前几个字符,再按上下键缩小搜索范围❑命令补全功能:Tab 键
❑用Esc 键删除命令行
MATLAB 语言的优势
⏹编程简单,类似于其他语言,如C
⏹集成度更高,扩展性更好
⏹数学问题数值解能力强大
⏹由Maple内核构成的符号运算工具箱可以继承Maple所有解析解的求解能力
⏹在数学、工程领域各种“工具箱”
⏹强大的系统仿真能力,Simulink建模
⏹在控制界是国际首选的计算机语言
开放式免费科学运算语言简介
⏹Scilab:
⏹/
⏹Baidu:
⏹/⏹Google:
/
MATLAB语言学习方法与资源
⏹带着问题学,活学活用,学用结合,急用先学,立竿见影,在“用”字上狠下功夫。

⏹The MathWorks公司官方网站
⏹费提供了全套MATLAB语言及工具箱手册的
HTML版和PDF版电子文档

⏹联机帮助系统
⏹命令:help、doc、lookfor
本课程与其他相关课程的关系
⏹和数学的关系
⏹应用数学和纯数学,数学问题机械化
⏹侧重直接获得问题的解,而不是存在性
⏹和数值分析的关系
⏹不是数值分析的MATLAB语言求解,从算法上
看,选择的算法更有效,变步长、自适应的算法
实现
⏹可以求解析解
⏹求解的面也更大,更全面
⏹和其他后续课程的关系
⏹利用计算机数学语言更好解决后续课程中的数
学问题和相关计算问题。

相关文档
最新文档