1 / 67

数学建模讲座( 2009 年 6 月 4 日  石家庄) MATLAB 软件介绍

数学建模讲座( 2009 年 6 月 4 日  石家庄) MATLAB 软件介绍. 彭建平 石家庄经济学院数理学院 Tel: 0311-87207109 Email:pjping@sjzue.edu.cn. 数学软件 MATLAB 使用简介 命令行编辑入门 Mat lab 的变量及管理 MATLAB 常用函数介绍 简单实例. ———— 数学软件 ————. 数学软件. 数学软件:指那些用于数学符号运算、数值计算和绘制几何图形用的计算机软件包或软件平台。. 数学软件大体上分为三类:

delora
Télécharger la présentation

数学建模讲座( 2009 年 6 月 4 日  石家庄) MATLAB 软件介绍

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数学建模讲座(2009年6月4日石家庄) MATLAB软件介绍 彭建平 石家庄经济学院数理学院 Tel: 0311-87207109 Email:pjping@sjzue.edu.cn

  2. 数学软件 MATLAB使用简介 命令行编辑入门 Mat lab的变量及管理 MATLAB 常用函数介绍 简单实例

  3. ————数学软件———— • 数学软件 数学软件:指那些用于数学符号运算、数值计算和绘制几何图形用的计算机软件包或软件平台。

  4. 数学软件大体上分为三类: (1) 以符号运算为主发展起来的软件。例如,Mathematica、Maple等。Mathematica软件开始时主要针对符号运算而创立的后来才加入数值计算的软件使它更完整,更便于使用。 (2) 以数值计算为主发展起来的软件,如MATLAB有“电子草稿纸”的美誉。 (3) 以几何作图为主的软件,如几何画板。数学软件有很多,这里仅提到几种典型的软件。

  5. ————MATLAB使用简介———— • MATLAB 使用简介 MATLAB是Matrix Laboratory(矩阵实验室)的缩写. • 是一种解释式语言. 简单易学、代码短小高效、计算功能强大、图形绘制和处理容易、可扩展性强. • 矩阵的数值运算、数值分析、模拟 • 数据可视化、 2D/3D的绘图 • 可以与FORTRAN、C/C++做数据链接 • 几百个核心内部函数 • 大量可选用的工具箱

  6. ————MATLAB使用简介———— • 启动MATLAB • 鼠标双击Windows桌面上图标 • 在Windows“开始”菜单的 • “程序”选项中选择 “ MATLAB” • 退出MATLAB • 命令窗口键入“quit”或 “Ctrl+Q” • 鼠标选择菜单file ExitMATLAB

  7. 工作空间浏览 命令历史窗口 命令窗口 MATLAB桌面

  8. ————MATLAB使用简介———— 命令窗口、编辑窗口、图形窗口

  9. Mat lab的帮助系统 (1)帮助命令help; (2)帮助窗口。 进入帮助窗口的步骤如下∶ Launch Pad (分类帮助窗口) 选中“Help” 打开

  10. 命令行编辑入门 1、简单的运算 步骤如下: (1)用键盘在命令窗口输入以下内容: >> (12+2*(7-4))/(3^2) (2)按Enter键,该指令就被执行。 (3)命令窗口显示所得结果: ans = 2

  11. 2、Mat lab表达式的输入 Mat lab语句由表达式和变量组成,有两种常见的形式: (1)表达式 ;(2)变量=表达式 (1)输入: >> y=(12+2*(7-4))/(3^2) (2)按 Enter 键。 (3)显示: y = 2

  12. (1)输入: >> x=3 >> y=x^3-x^(1/4)+2.15*sin(x) (2)按 Enter 键。 y = 25.9873 (3)显示:

  13. 3、指令的续行输入 若一个表达式在一行写不下,可换行,但必须在行尾加上四个英文句号。 (1)输入: >> s=1-1/2+1/3-1/4+1/5-1/6.... +1/7-1/8 (2)按 Enter 键。 s = 0.6345 (3)显示:

  14. 4、用 键重新显示该语句, 输入: >> y1=2*sin(0.3*pi)/(1+sqrt(5)) y1 = 0.5000

  15. (1)当命令行有错误,Mat lab会用红色字体提示; (2)同一行中若有多个表达式,则必须用分号或逗号隔开,若表达式后面是分号,将不显示结果。 (3) 输入为: 注意:

  16. Mat lab的变量及管理 1、变量名的命名规则 (1)以字母开头,后面可跟字母、数字和下短线; (2)大小写字母有区别; (3)不超过31个字符。 Example:fun, Zheng12

  17. 2、Mat lab的预定义变量

  18. 3、Mat lab的变量管理 (1)who-----查询Mat lab内存变量; whos-----查询全部变量详细情况。 (2)clear-----清除内存中的全部变量。 (3)save sa X -----将X 变量保存到sa.mat文件。 (4)load sa X -----调用sa.mat文件中变量X 。 注意:save只对数据和变量保存,不能保存命令。

  19. Mat lab常用函数介绍

  20. 例2.计算sin x在处的值 ———MATLAB使用简介———- 例1.计算级数:S=1+2+22+23+···+263= >> n=0:1:63;S=sum(2.^n) S = 1.8447e+019 >>clear x=pi./[8,6,4,3],y=sin(x) y = 0.3827 0.5000 0.7071 0.8660

  21. ————MATLAB使用简介———— 例3. 衰减振荡曲线函数: y=e -0.5xsin 5x图形. x=0:0.1:4*pi; y= exp(-0.5*x) ;y1=y .*sin(5*x); plot(x,y1,x,y,’--r’,x,-y,’--r’);

  22. ———命令行编辑入门———- • 命令行基础 语句 Matlab语言最基本的赋值语句结构为: 变量名列表 = 表达式 注1:整个赋值语句以;结束,则不在屏幕上返回结果,否则立即返回结果。 注2:多个语句可在同一行,用逗号分开。 注3:表达是太长可以用续行符号…

  23. ans = 2 ———命令行编辑入门———- • 简单运算 例1.求[12+2×(7-4)÷32] >>(12+2*(7-4))/3^2 • MATLAB表达式输入 常见两种形式:表达式;变量=表达式 时x的 例2.建立变量y使其值为3,并计算 值.

  24. 例3.求 的值. ———命令行编辑入门———- >>y=3; >>x=y^3-sqrt(y) x = 25.2679 • 指令的续行输入 若一个表达式在一行写不下,可换行,但必须在行尾加上四个英文句点. >> S=1-1/2+1/3-1/4+1/5-1/6.... +1/7-1/8

  25. ———命令行编辑入门———- S = 0.6345 • 利用控制键回调以前的指令,进行新的计算或输入 具体办法是:先用键↑调出已输入过的指令;然后移动光标,进行修改即可. • MATLAB变量及管理 • 变量名的命名规则 • 以字母开头,后面可跟字母、数字和下短线; • 大小写字母有区别; • 不超过31个字符. 例如cel2_3,f,F和Dui31是四个合法的变量.

  26. ———命令行编辑入门———- MATLAB预定义变量 ans 用于结果的缺省变量名 pi 圆周率 eps   计算机的最小数 inf 无穷大 NaN 不定量(Not a Number) i或j i=j=-1的开方 realmin 最小可用正实数 realmax 最大可用正实数

  27. ———命令行编辑入门———- • MATLAB的变量管理 • 用who检查MATLAB内存变量 • 鍵入whos,获得驻留变量的详细情况:全部变量名,变量的数组维数,占用字节数,变量的类别(如双精度),是否复数等. • 变量的存取 >>save sa X Y Z %选择内存中的变量X,Y,Z保存为sa.mat文件 • 清空内存,从sa.mat向内存装载变量Z. >>clear %清除内存中的全部变量 >>load sa Z%把sa.mat文件中的Z变量装入内存 >>who %检查内存中有什么变量

  28. ———命令行编辑入门———- • MATLAB的文件管理 MATLAB文件管理命令 what返回当前目录下M、MAT、MEX文件列表    dir列出当前目录下的所有文件 cd显示当前的工作目录 type(文件名)在命令窗口下显示该文件的内容 delete(文件名)删除M文件 which(文件名)显示M文件所在的目录

  29. Matlab由包括许多标准函数,每个函数都完成某一特定功能的代码组成。 Matlab也允许用户编写自己所需的函数,其扩展名为.m,其中必须以关键字function开头. 函数

  30. ————MATLAB常用函数———— • MATLAB的函数 sinh 双曲正弦函数 asinh 反双曲正弦函数 cosh 双曲余弦函数 acosh 反双曲余弦函数 tanh 双曲正切函数 atanh 反双曲正切函数 sech 双曲正割函数 asech 反双曲正割函数 csch 双曲余割函数 acsch 反双曲余割函数 coth 双曲余切函数 acoth 反双曲余切函数 sin 正弦函数 asin 反正弦函数 cos 余弦函数 acos 反余弦函数 tan 正切函数 atan 反正切函数 cot 余切函数 acot 反余切函数 sec 正割函数 asec 反正割函数 csc 余割函数 acsc 反余割函数

  31. ————MATLAB常用函数介绍———— angle(z)复数z的相角 real(z)复数z的实部 imag(z)复数z的虚部 fix(x)舍去小数取整 ceil(x)加入正小数取整 sign(x)符号函数 rem(x,y)求x除以y的余数 lcm(x,y)最小公倍数 pow2(x)以2为底的指数 log2(x)以2为底的对数 abs(x) 绝对值 sqrt(x) 开平方 conj(z) 共轭复数 round(x) 四舍五入 floor(x) 舍去正小数 rat(x) 化为分数表示 gcd(x,y) 最大公因数 exp(x) 自然指数 log(x) e为底的对数 Log10(x) 10为底的对数

  32. 2. 程序M文件 以.m格式进行存取,包含一连串的MATLAB指令和必要的注解。需要在工作空间中创建并获取变量,也就是说处理的数据为命令窗口中的数据,没有输入参数,也不会返回参数。 程序运行时只需在工作空间中键入其名称即可。 MATLAB的程序类型 MATLAB的程序类型有三种,一种是在命令窗口下执行的脚本M文件;另外一种是可以存取的M文件,也即程序文件;最后一种是函数(function)文件。 1.脚本M文件 在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,不需要输入输出参数的调用,退出MATLAB后就释放了。

  33. (1)函数定义行(关键字function) function[out1,out2,..] = filename(in1,in2,..) 输入和输出(返回)的参数个数分别由nargin和nargout两个MATLAB保留的变量来给出。 (2)第一行帮助行,即H1行 以(%)开头,作为lookfor指令搜索的行 (3)函数体说明及有关注解 以(%)开头,用以说明函数的作用及有关内容 (4)函数体语句 函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。 3. 函数文件 与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。用help命令可以显示它的注释说明。 具有标准的基本结构。

  34. 循环语句 for, while 条件转移 if end, if elseif else end 开关语句 switch case 注释语句 % 中断语句 break 暂停语句 pause 回显语句 echo on/off 流程控制

  35. 1. for循环语句 基本格式 for 循环变量=起始值:步长:终止值 循环体 end 步长缺省值为1,可以在正实数或负实数范围内任意指定。对于正数,循环变量的值大于终止值时,循环结束;对于负数,循环变量的值小于终止值时,循环结束。循环结构可以嵌套使用。

  36. 2. while循环语句 基本格式 while 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。 • While循环和for循环的区别在于,while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。

  37. 3. if,else,elseif语句 (1)if 逻辑表达式 执行语句 end (2)if 逻辑表达式 (3) if 逻辑表达式1 执行语句1 执行语句1 else elseif 逻辑表达式2 执行语句2 执行语句2 end … end

  38. 4. switch语句 switch 表达式(可以是标量或字符串) case 值1 语句1 case 值2 语句2 …. otherwise 语句3 end

  39. MATLAB程序的基本组成结构 %说明 清除命令:清除workspace中的变量和图形(clear,close) 定义变量:包括全局变量的声明及参数值的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱 … … …提供的专用命令 控制循环 : 包含for,if then,switch,while等语句 逐行执行命令 … … … end 绘图命令: 将运算结果绘制出来 当然更复杂程序还需要调用子程序。

  40. MATLAB提供了丰富的绘图功能 help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令 Graphics

  41. 1. 基本的绘图命令 plot(x1,y1,option1,x2,y2,option2,…) x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似地绘制第二个二维图形。 这是plot命令的完全格式,在实际应用中可以根据需要进行简化。比如: plot(x,y);plot(x,y,option) 选项参数option定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。

  42. 2. 选择图像 figure(1);figure(2);…;figure(n) 打开不同的图形窗口,以便绘制不同的图形。 3. grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格 4. hold on:把当前图形保持在屏幕上不变,同时 允许在这个坐标内绘制另外一个图形。 hold off:使新图覆盖旧的图形 5. 设定轴的范围 axis([xmin xmax ymin ymax]) axis(‘equal’):将x坐标轴和y坐标轴的单位刻度大小调整为一样。

  43. 6. 文字标示 text(x,y,’字符串’) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。 title(‘字符串’) 在所画图形的最上端显示说明该图形标题的字符串。 xlabel(‘字符串’),ylabel(‘字符串’) 设置x,y坐标轴的名称。 输入特殊的文字需要用反斜杠(\)开头。 7. legend(‘字符串1’,‘字符串2’,…,‘字符串n’) 在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分图形上的线。

  44. 8. subplot(m,n,k):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号 9. semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。 semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。 10. 了解应用型绘图指令:可用于数值统计分析或离散 数据处理 bar(x,y);hist(y,x) stairs(x,y);stem(x,y)

  45. Examples • 、基本操作 1.简单的运算 例1 计算球体积 r=2; %有“;”不显示结果 v=4/3*pi*r^3 %没有“;”显示结果 注意:1、可多个命令写一行,命令间用“,”或“;”分开。 2、允许使用←↑→↓键来编辑前面的命令。

  46. 2.变量和数据 (1)变量有数值型和字符型两类,变量类型和数组大小无需预先定义。 (2)常用的常量 i或j―复数单位 pi― Inf―无穷大 (3)变量名以字母开头,后可跟字母、数字和下划线,区分大小写。 (4)变量查询用who或whos,清除变量用clear。 (5)数据显示格式是整数作为整数显示,实数显示4位小数,可通过format命令改变。 (6)数据保存用save,调用用load。

  47. 例2 变量定义、查询和清除 a=1+2*i A=’This is a string’ who %变量查询 whos %变量查询 a %显示变量a的值 clear a A; %清除变量a和A clear; %清除所有变量

More Related