收藏 分享(赏)

Matlab数据对象.ppt

上传人:11xg27ws 文档编号:5865285 上传时间:2019-03-20 格式:PPT 页数:50 大小:485.50KB
下载 相关 举报
Matlab数据对象.ppt_第1页
第1页 / 共50页
Matlab数据对象.ppt_第2页
第2页 / 共50页
Matlab数据对象.ppt_第3页
第3页 / 共50页
Matlab数据对象.ppt_第4页
第4页 / 共50页
Matlab数据对象.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、第2章 Matlab数据类型,基本要求: (1) 了解Matlab的各种数据类型; (2) 掌握Matlab的运算符与操作符的含义和用法 ; (3) 掌握Matlab基本表达式并了解其常用函数分类; (4) 熟练掌握 Matlab 的程序结构(顺序结构、循环结构和分支结构)与流程控制语句 ; (5) 了解并初步掌握 Matlab 的数据文件的读写; (6) 学会 Matlab 的M文件的编写方法,包括命令文件和函数文件。了解M件的调试命令和调试方法。,1、 Matlab数据类型,变量和常量 数字变量的格式 字符串 单元型变量 结构型变量 矩阵、向量 多项式,例:基本数学运算,在MATLAB下进

2、行基本数学运算,只需将运算式直接打在提示号 后面,并按Enter键。 MATLAB将计算 的结果以ans显示。,【例】求 的算术运算结果。,我们也可给运算式的结果设定一个变量x: x = (5*2+1.3-0.8)*102/25 x = 42 变量x的值可以在下个语句中调用: y= 2*x+1 y = 85,变量命名规则: 1.变量名的大小写敏感。 2.变量的第一个字符必须为英文字母,而且不能超过31个字符。 3.变量名可以包含字符、数字,但不能为空格符、标点 。 注:所有字符串变量都用单引号括起来。 s=matlab ,系统预定义的变量,ans 预设的计算结果的变量名 eps MATLAB定

3、义的正的极小值=2.2204e-16 pi 内建的值(= 3.1415926.) inf 值,无限大 NaN 无法定义一个数目( ) i 或 j 虚数单位i=j=clear 去除所有定义过的变量名称。,2、运算符与操作符,数学运算符,操作符,冒号“ :” 可以用来产生向量; 用作矩阵的下标,部分地选择矩阵元素; 进行行循环操作。 续号“ ” 表示一行未完,而在下一行继续; 分号“ ;” 在方括号中,表示矩阵中行的结尾; 用在每行的结尾,则 不显示该行运算的结果。,关系操作符,逻辑操作符,MATLAB 的关系操作符运算法则: 当两个变量是标量 a 和 b 时 若 a、b 之间关系成立,则关系运算

4、结果为 1; 若 a、b 之间关系不成立,则关系运算结果为 0; 当两个维数相同的矩阵 A 和 B 比较时,矩阵 A、B 比较的是相同位置的元素,按标量的运算规则逐个进行。关系运算的结果是一个和 A维数相同的矩阵,它的元素由 0 和 1 组成。 当一个矩阵A 和一个标量 b 比较时,把标量 b 和矩阵A 的每一个元素按标量关系运算规则逐个比较。关系运算的结果是一个和数组 A维数相同的矩阵,它是由 0 和 1 组成。 优先级 由高到低为算术运算、关系运算和逻辑运算。,关系运算举例, A=3,4,8;9,0,2;5,3,7 A =3 4 89 0 25 3 7 B=4,4,1;7,8,4;5,1,

5、7 B =4 4 17 8 45 1 7 E=(AB) E =0 0 11 0 00 1 0, NE=(A=B) NE =1 0 11 1 10 1 0 A0=(A5) A0 =0 0 11 0 00 0 1 B0=(B=6) B0 =1 1 10 0 11 1 0,MATLAB 中逻辑操作符的运算法则: 如果两个标量 a 和 b 运算,则: a&b:a、b 全是非 0 时,运算结果是 1,否则是 0; a|b:a、b 中只要有一个非 0,运算结果为 1; a:当 a 是 0 时,运算结果是 1,否则是 0。 如果两个维数相同的矩阵A 和 B 参与运算,则:将矩阵A 和 B 相同位置上的元素按

6、标量的运算规则逐个进行运算。运算的结果是返回一个由 0 和 1 组成的与 A 具有同样维数的矩阵; 如果标量 b 和矩阵A 参与运算,则: 将标量 b 和矩阵A 中的每个元素进行逻辑运算。逻辑运算的结果是返回一个由 0和 1 组成的与 A 具有同样维数的矩阵; 逻辑“ 非”运算是一元运算符,服从数组运算规则; 在逻辑“ 与”、“ 或”、“ 非”三者中, “ 非”的优先级最高,“ 与”与“ 或”具有相同的优先级,从左向右执行。 通过 “( )”可以改变各操作符之间的优先级。,逻辑运算举例, A=3,4,8;9,0,2;5,3,7 A =3 4 89 0 25 3 7 B=4,4,1;7,8,4;

7、5,1,7 B =4 4 17 8 45 1 7 AB=A&B AB =1 1 11 0 11 1 1, A_B=A|B A_B =1 1 11 1 11 1 1 C=A C =0 0 00 1 00 0 0 cc=(A3)&(B6) cc =0 1 10 0 01 0 0,3、表达式及函数,Matlab采用的是表达式语言,用户输入的语句由 Matlab系统解释运行。用户可以在 Matlab的命令窗口中键入命令,也可以在编辑器内编写应用程序。 Matlab语句由表达式和变量组成,有两种最常见的语句形式:表达式变量表达式, t=6 t =6 sin(5*t+6) ans =-0.9918 y=s

8、in(5*t+6) y =-0.9918,表达式由变量名、运算符、数字和函数名组成。 表达式将按常规的优先顺序从左至右执行运算; 优先级的规定是指数运算级别最高,乘除运算次之; 括号可以改变运算顺序; 书写表达式时,赋值符“”和运算符两侧允许有空格,以增加可读性。但在复数或符号表达式中要尽量避免空格,以防出错; 表达式的末尾加 “;” 时,Matlab系统只把数值赋给变量, 不显示计算结果;不加“;”时, Matlab 系统将会在该条语句的下面直接显示运算结果。,MATLAB常用数学函数,三角函数和双曲函数,指数函数,复数函数,其他函数,4、MATLAB程序设计,MATLAB有两种工作方式:,

9、交互式的命令行工作方式,M文件的程序工作方式,一. M文件,用MATLAB语言编写的程序,称为M文件。M文件有两类:命令文件和函数文件。命令文件:没有输入参数,也不返回输出参数。 函数文件:可以输入参数,也可返回输出参数。,M文件的建立与编辑,建立新的M文件:从MATLAB命令窗口的File菜单中选择New菜单项,再选择M-file命令。,编辑已有的M文件:从MATLAB命令窗口的Flie菜单中选择Open M-file命令。,命令文件,将需要运行的命令编辑到一个命令文件中,然后在MATLAB命令窗口输入该命令文件的名字,就会顺序执行命令文件中的命令。,e31m文件:a=1:9;b=11,12

10、,13;14,15,16;17,18,19;c=a;a=b;b=c;ab在MATLAB的命令窗口中输入e31,将会执行该命令文件。,【例1】建立一个命令文件将变量a,b的值互换。,二数据的输入输出,调用格式: A=input(提示信息,s); 注:如果有s选项,则允许用户输入一个字符串。 例如想输入一个人的姓名,可采用命令xm=input(Whats your name:,s),a=input(a=);b=input(b=);c=input(c=);d=b*b-4*a*c;x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a) 将该程序以aa.m文件存盘,然后运行aa.m文

11、件。,1. input函数:用于向计算机输入一个参数。,【例2】 求一元二次方程a2 +bx+c=0的根。,调用格式: pause(延迟秒数) 注:如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。,调用格式:disp(输出项) 注:输出项为字符串或矩阵。 例如A=Hello,MATLAB;disp(A) 输出为: Hello,MATLAB,2 pause函数:暂停程序的执行,3 disp函数:命令窗口输出函数。,三程序设计,(一)选择结构,选择结构的语句有if语句和switch语句。 1 if语句格式一: if 条件语句组end,格式二: if 条件语句组1

12、else语句组2end,格式三: if 条件1语句组1elseif 条件2语句组2elseif 条件m语句组melse语句组m+1end,【例4】 输入三角形的三条边,求面积。,已知三角形三边a,b,c,则(海伦公式) p=(a+b+c)/2 S=sqrtp(p-a)(p-b)(p-c),【例5】 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为其他字符则原样输出。,abs:将字符串转换成ASCII码 setstr:将ASCII码转换成字符串,【例5】 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为其他字符则原样输出。,c=

13、input(,s);if c=A end,三程序设计,(一)选择结构,2 switch语句,switch语句根据变量或表达式的取值不同,分别执行不同的语句。其格式为:switch 表达式case 值1语句组1case 值2,语句组2case 值m语句组motherwise语句组m+1end,【例6】 根据变量 num 的值来决定显示的内容。,num=input(请输入一个数);switch numcase -1disp(I am a teacher.);case 0disp(I am a student.);case 1disp(You are a teacher.);otherwisedis

14、p(You are a student.);end,三程序设计,(一)选择结构,(二)循环结构,实现循环结构的语句:for语句和while语句。 1 for语句: 格式: for 循环变量=表达式1:表达式2:表达式3循环体语句end 注:其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。,2 while语句 格式为:while (条件)循环体语句end 【例7】 根据例3.6中求y的表达式,求:(1)y3时的最大n值。(2)与(1)的n值对应的y值。,求y的表达式,y=0; i=1;while 1 %循环的条件为1,即循环条件总

15、是满足的,这是一个永真循环f=1/(2*i-1);y=y+f;if y3break;endi=i+1;endn=i-1y=y-f,三程序设计,(二)循环结构,3 循环的嵌套,如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。 多重循环的嵌套层数可以是任意的。可以按照嵌套层数,分别叫做二重循环、三重循环等。处于内部的循环叫作内循环,处于外部的循环叫作外循环。,【例8】 求100,1000以内的全部素数。,n=0;for m=100:1000flag=1; j=m-1;i=2;while i=j end,i=i+1;endif flag n=n+1;prime(n)

16、=m;endendprime %变量prime存放素数,四函数文件,函数文件是另一种形式的M文件,每一个函数文件都定义一个函数。事实上,MATLAB提供的标准函数大部分都是由函数文件定义的。,1函数文件格式,函数文件由function语句引导,其格式为:function 输出形参表=函数名(输入形参表)注释说明部分函数体 注:其中函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于1个时,则应该用方括号括起来。,2函数调用,函数文件编制好后,就可调用函数进行计算了。如上面定义ffib函数后,调用它求小于2000的Fibonacci数。 函数调用的一般

17、格式是:输出实参表=函数名(输入实参表),四. 函数文件,【例9】 利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。,函数文件tran.m:function gama,theta=tran(x,y)gama=sqrt(x*x+y*y);theta=atan(y/x);调用tran.m的命令文件main1.m:x=input(Please input x=:);y=input(Please input y=:);gam,the=tran(x,y);gamthe,已知转换公式为:极坐标的矢径:=极坐标的幅角:=,四. 函数文件,利用函数文件求: 【例4】 输入三角形的三条边,求面积。

18、,已知三角形三边a,b,c,则(海伦公式) p=(a+b+c)/2 S=sqrtp(p-a)(p-b)(p-c),matlab基本命令,1. help 帮助命令 格式: help 命令名,2. what 显示目录内容命令 格式: what 功能:显示matlab目录下的所有M-文件。,3type 显示文件内容命令 格式: type文件名 显示M-文件的内容。,4who,whos 显示变量命令 显示当前变量。 whos命令更详细。,5load,save 取出与保存结果命令 从磁盘上读出或保存计算结果。 例如: save test 将变量存入test.mat文件中。 例如: save test x y 仅保存x ,y 变量。,6 clear 清除变量命令 格式: 变量名 例如: clear x y 7disp 显示文本或变量内容命令 例如:x=1 2 3disp(x)y=aaaaaaadisp(y),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报