MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇

上传人:E**** 文档编号:89494103 上传时间:2019-05-25 格式:PPTX 页数:140 大小:5.81MB
返回 下载 相关 举报
MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇_第1页
第1页 / 共140页
MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇_第2页
第2页 / 共140页
MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇_第3页
第3页 / 共140页
MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇_第4页
第4页 / 共140页
MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇_第5页
第5页 / 共140页
点击查看更多>>
资源描述

《MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇》由会员分享,可在线阅读,更多相关《MATLAB程序设计及其数学建模应用 教学课件 ppt 作者 王志新 matlab2011b程序设计篇(140页珍藏版)》请在金锄头文库上搜索。

1、MATLAB程序设计以及数学建模教程,工程计算 信号处理 控制系统设计 经济模型分析 生物计算 图像处理,MATLAB应用领域,第一部分,MATLAB程序设计,第一章 MATLAB简介,1.1 MATLAB发展历程,1980年前后,MATLAB的雏形:LINPACK 和EISPACK的接口程序。 1984年成立MathWorks公司,推出MATLAB第1版(DOS版)。 2004年09月13日,推出版本7.0版。 2011年下半年版本R2011b,1.2 MATLAB特点,以数值计算为主的软件: MATLAB、和Scilab等 对大批数据有较强的管理、计算和可视化的能力,运行效率高。,7,MA

2、TLAB主要优点,使用简单,易学易用 支持多平台 预定义函数 独立的绘图功能 MATLAB独立的编辑器,8,由于是一种解释性语言,因此执行速度被编辑性语言慢。 完整版的MATLAB比较昂贵,5-10倍于一般的软件,例如C或者FORTRAN。当然学生版MATLAB 要便宜的多。工具箱软件需要单独购买。,MATLAB主要缺点,价格,1.3 MATLAB 安装,在资源管理器中双击“setup.exe”应用程序即可启动“安装向导”。安装过程中出现的所有界面都是标准的,用户只需按照屏幕提示进行操作即可,如输入用户名、单位名、口令等。,安装时选择工具箱,Matlab 常用组件 必须安装的部分Matlab

3、常选的通用型工具包Symbolic math(符号型数据操作) 其他通用型工具包 常用专业型工具包(control system; signal processing ; spline; statistics) 其他专业型工具,1.4 MATLAB 环境,1.5 命令窗口入门,一个命令行输入一条命令,命令行以回车结束 一个命令行也可以输入若干条命令,各命令间以逗号分隔 若前一命令后带有分号,则逗号可以省略 如果一个命令行很长,要加续行符(三个小黑点) 方向键编辑修改已输入的命令 :回调上一行命令 :回调下一行命令,14,Matlab中的运算符都是各种计算程序中常见的习惯符号; 计算结果中的an

4、s是answer的缩写 不必事先对矩阵维数作任何说明,存储将自动配置 指令执行后,变量被保存在Matlab工作空间内 Matlab对字母大小写敏感,计算的语法,指令窗的常用控制指令,1.6 历史命令窗口,单行命令的运行 选中单行命令; 右击,打开快捷菜单 多行命令的运行 选中多行命令; 右击,打开快捷菜单,1.7 工作空间,变量保存在计算机内存中,内存的这个部分称作工作空间(Workspace)。,1.8 当前目录和搜索路径,用户应尽量为自己设置一个专门的工作目录 MATLAB工作时,就沿搜索路径,从各个目录上寻找所需调用的文件、函数和数据。,MATLAB的搜索路径,1.9 编辑和调试窗口,1

5、.10 图形窗口,x=0:0.1:6; y=sin(x); plot(x,y);,1.11 帮助系统,help 函数名/命令 help elmat help plot demo,第一章小结,使用界面 目录组织结构 获取帮助,第2章 MATLAB基本功能,2.1 变量和数值,数组是MATLAB最基本、最重要的数据对象。 变量保存了一个数组的内存单元 MATLAB中的变量无须事先定义 随意创建,变量中保存的数据决定了变量的类型,变量说明,变量的定义最好表达实际内容。以方便日后的维护。 MATLAB语言对于字符大小写敏感, NAME变量与Name变量保存的内容不同。通常情况下,自定义变量使用小写字母

6、组合。 最常见的MATLAB变量类型是double 和char类型。 double类型是MATLAB的基本数据类型。变量在初次使用时,默认类型为double类型。,2.2 MATLAB中初始化变量,变量赋值表达式。 直接利用键盘输入值并赋给变量。 从数据文件中直接读取,MATLAB赋值语句有两种格式:,变量=表达式 A1=3.4 A2=1.0 2.0 3.0 A3=1.0;2.0;3.0 A4=1,2,3;4,5,6 A5=1,2,3; 4,5,6 B= (2) 表达式 一般地,运算结果在命令窗口中显示出来。如果语句的最后加分号,那么,仅仅执行赋值操作,不显示运算的结果。 在MATLAB语句后

7、面的注释以%开头。,例2.1 计算表达式的值,并将结果赋给变量x,然后显示出结果。 输入命令: x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i) %计算表达式的值,短赋值语句,短赋值语句由初值,步长和终值组成,中间利用冒号隔开,通常调用格式如下: var=first:increase:last 例如: x=1:2:10 angles=(0.01:0.01:1)*pi; g=1:3; h=g g,利用内置函数赋值,数组也可以使用内置的MATLAB函数进行赋值 a=zeros(2); b=zeros(2,3); c=1,2;3,4; d=zeros(size(c);,常用内置

8、生成数组函数,利用键盘输入变量内容,input函数等待用户直接输入数据,调用格式如下: my_val=input(请输入数据:); 例: in1=input(请输入数值:) in2=input(请输入文本:,s),2.3 多维数组, c(:,:,1)=1 2 3;4 5 6; c(:,:,2)=7 8 9;10 11 12; 数组元素的存储是遵循了列主序原则。对于一个二维数组而言,也就是首先保存第1列的元素,然后保存第2列的元素,依此类推。对于多维数组而言,第1个数组下标增长最快,第2个下标增长得较快,第3个下标增长得较慢。 例如,一个222的多维数组变量,其寻址的顺序是(1,1,1)、(2,

9、1,1)、(1,2,1)、(2,2,1)、(1,1,2)、(2,1,2)、(1,2,2)、(2,2,2)。,例2.2,一个43的数组a如下: a=1 2 3;4 5 6;7 8 9;10 11 12 b=reshape(a,1,12) b=reshape(a,12,1),2.4 子数组,对于二维数组来讲,冒号可以用于下标中选取所有的那一维上的数据。例如: arr2=1 2 3;-2 -3 -4;3 4 5; arr2(1,:) arr2(5:end) arr23 find(arr23) arr2(find(arr23),子数组赋值, arr2(1:2,1 4)=20 21;22 23 arr2

10、(1:2,1:2)=1,2.5 特殊的预定义变量,小提示:,应尽量避免对这些预定义变量重新赋值。 自定义变量名不要与文件名、函数名相重复。,2.6 显示输出的数据,改变默认的显示格式,显示函数disp,disp函数的输入参数是一个数组,在命令窗中返回数组的值。如果输入的数组是字符型,那么数组中的字符将显示在命令窗口中。为了在命令窗口中显示字符串,disp经常和num2str函数搭配使用,num2str函数将数值型变量转换为字符型变量。例: str=pi的数值是 num2str(pi);,2.7 数据文件,利用MAT文件(.mat)可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。

11、最常用的保存文件形式如下: save filename var1 var2 var3 将变量装载入工作空间中。常用的格式如下: load filename,2.8 运算符,1. 基本算术运算 MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(乘方)。 注意:运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。 2. 点运算 点运算符有.*、./和.。 两数组进行点运算是指它们的对应元素进行相关运算,要求两数组的维数相同。,矩阵运算和点运算,注意: i.两个矩阵可以相乘的条件是“前列=后行” ii.矩阵乘法不具有交换性,例,工厂生产的产品是:防护帽、垫肩和臀垫,管理者接

12、到订单,为了安排生产,总共需要多少原料和劳动力?,产品与所需原料表,订单表,2.9运算符优先级,注意:使用括号,表达式会更清楚,2.10 运算符的优先级,第二类 取整,第三类 类型转换,2.11 绘图简介,x=0:0.1:10; y=x.2-10*x+15; plot(x,y),绘图标注,xlabel(x) ylabel(y) title(Plot of y=x2-10*x+15); grid on,多条曲线图,x=0:pi/100:2*pi; y=sin(2*x); y2=2*cos(2*x); plot(x,y,x,y2);,plot选项,实例:编写简单程序-温度转换,温度转换问题。设计一

13、个MATLAB程序读取输入的华氏(Fahrenheit)温度,将之转换为开尔文(Kelvin)温度,温度转换的公式如下: 解决步骤: 输入华氏温度 计算得到开尔文温度 输出转换结果,2.12 调试MATLAB程序,语法错误 运行时间错误 逻辑错误,第2章小结,两种数据类型:double和char 赋值语句 运算符具有优先顺序,先计算括号内的运算,然后计算乘方和乘除,最后计算加减法。 内置函数,第三章 程序结构,3.1 自顶向下的程序设计方法,描述问题 定义输入变量和输出变量 设计实现程序的算法 自顶向下的程序设计方法就是首先按照一定的逻辑将问题分解为子问题,子问题还可以继续向下一层次分解。之后

14、,主要问题被分解成独立的清晰的很多子问题。 将算法转换为MATLAB语句 测试实际的MATLAB程序,3.2 使用伪代码,将算法用语言表述出来,3.3 关系运算符,MATLAB中的逻辑型变量和C语言一样,处理逻辑型变量,只保存两种数值:0表示false;;1表示true。任何非零数据均可表示逻辑真值true。,3.3 逻辑运算符,返回逻辑值的运算符号,3.4 分支结构,if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组m+1 end,例3.1 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为数字字符则输出其

15、对应的数值,若为其他字符则原样输出。 c=input(请输入一个字符,s);,char abs,参考代码,if c=A end,switch语句 switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 case 表达式m 语句组m otherwise 语句组m+1 end,例3.2 某商场对顾客所购买的商品实行打折销售,已知打折标准,求所售商品的实际销售价格。 price=input(请输入商品价格);,参考代码,switch fix(price/100) case 0,1 rate=0; case 2,3,4 rate=3/100; case num2cell(5:

16、9) rate=5/100; case num2cell(10:24) rate=8/100; case num2cell(25:49) rate=10/100; otherwise rate=14/100; end price=price*(1-rate),3.5 循环结构,循环结构就是反复运行一段语句的结构。MATLAB中有两种实现循环的结构:while结构和for结构。 for 循环变量=表达式1:表达式2:表达式3 循环体语句 end,循环示例,显示5个字母 输入5个字母至一个数组 输出显示 累加和累乘 输入数组 重复累加|累乘 % sum_x=sum_x+index % pro_x=pro_x*index,练习,老张储蓄,第一天存1元,第二天存2元,第三天存4元,第四天存8元,直至31天为止,按此方案,老张总共应存多少钱?,循环中的穷举法:,例3-12 求100,20

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

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

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