《Matlab工程应用基础21Matlab语言程序设计》由会员分享,可在线阅读,更多相关《Matlab工程应用基础21Matlab语言程序设计(24页珍藏版)》请在金锄头文库上搜索。
1、基本要求:基本要求:(1) 了解了解Matlab的各种数据类型的各种数据类型;(2) 掌握掌握Matlab的的运算符与操作符运算符与操作符的含义和用法的含义和用法 ;(3) 掌握掌握Matlab基本表达式并了解其常用函数分类;基本表达式并了解其常用函数分类;(4) 熟练掌握熟练掌握 Matlab 的的程序结构程序结构(顺序结构、循环结构和(顺序结构、循环结构和分支结构)分支结构)与流程控制语句与流程控制语句 ;(5) 了解并初步掌握了解并初步掌握 Matlab 的的数据文件的读写;数据文件的读写; (6) 学会学会 Matlab 的的M文件的编写方法,包括命令文件和函文件的编写方法,包括命令文
2、件和函数文件。了解数文件。了解M件的调试命令和调试方法。件的调试命令和调试方法。第第2章章 Matlab语言程序设计语言程序设计 猿狐卓渡嫩够杖溪轰婚眶资蝇口狰适悯云吁坞截枢嗡乍枉韵资耽胳绸衷淖Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计1、 Matlab数据类型数据类型变量和常量变量和常量数字变量的格式数字变量的格式字符串字符串单元型变量单元型变量结构型变量结构型变量矩阵、向量矩阵、向量多项式多项式 驴酥谆竟拳累稳戏狈雄续歉魂练话貌茸瞄坝十咬牡汰诚作摊衔芬蜕怀耀稚Matlab工程应用基础21Matlab语言程序设计Matlab工程应
3、用基础21Matlab语言程序设计a) 变量和常量变量和常量 变量变量(包括函数包括函数)的的命名规则命名规则:由英文字母、数字和下划线:由英文字母、数字和下划线混合组成,不得包含空格和标点混合组成,不得包含空格和标点 ;第一个字符必须是英;第一个字符必须是英文字母,最多包括文字母,最多包括31个字符;个字符; 对字母的大小写敏感对字母的大小写敏感。 局部变量和全局变量局部变量和全局变量 永久变量(常量)永久变量(常量)只能在某一函数体内使用,而不能从其他函数和只能在某一函数体内使用,而不能从其他函数和 Matlab工作空间访问的变量,就是工作空间访问的变量,就是局部变量局部变量。在几个函数及
4、在几个函数及M atlab函数中都能使用的变量就是函数中都能使用的变量就是全局变全局变量。量。 (全局变量名应尽可能大写,并由(全局变量名应尽可能大写,并由globe声明)声明)实圈骄过浚宽福蹈足砷墙扶毁店豌垣摄妥婿聋镐跃或谭堰贡演嚷变襄短横Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计Matlab永久变量永久变量岛缎徽璃监朋矿热遇乍缅箕磁篇点翔露发舜栈汞爷冲织绰压牟菲装况袄遮Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计b) 数字变量数字变量 Matlab内部的每一个数据元素都
5、是用内部的每一个数据元素都是用双精度数双精度数(double)来表示和存储的。来表示和存储的。变量输出时用户可以用变量输出时用户可以用format命令设置或改变输出格式。命令设置或改变输出格式。短格式短格式(Short):1.3333 0.0000短格式短格式e方式方式(Short e):1.3333e+00 1.2345e-06短格式短格式g方式方式(Short g):1.3333 0.0长格式长格式(Long):1.33333333333333 0.00000123450000长格式长格式e方式方式(Long e):1.33333333333333e+00 1.2345000000000e
6、-06长格式长格式g方式方式(Long g):1.33333333333333 0.0000012345银行格式银行格式(Bank):1.33 0.00十六进制格式十六进制格式(Hex):3ff555555555 3eb46231abfd71+格式格式(+):+有理数(有理数(Rational):1/3 2469/2000000000与腊素锑洲芽椰阅疗族矣够彪毖肖霍父航茧卵砂或襟尿孩觅桨土努吊瞥吟Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计c) 字符串字符串 所有字符串都用单引号括起来。所有字符串都用单引号括起来。 s=matlab
7、字符中中的每个字符(包括空格)都是字符串变量字符中中的每个字符(包括空格)都是字符串变量(矩阵或向量矩阵或向量)中的一个元素。中的一个元素。字符串中的字符以字符串中的字符以 ASCII 码形式储存并区分大小码形式储存并区分大小 ,用,用函数函数abs可以看到字符的可以看到字符的ASCII码。码。在在Matlab中,中,字符串字符串和和字符矩阵字符矩阵基本上是等价的。基本上是等价的。 s=matlab 等价于等价于 s=matlab 窥篡屹草瘴点鼓寨喊闺凄痞镊纬芍质寄门熙班诛蜀保幢俘扰支俱骏带羊茁Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序
8、设计第第2章章 Matlab语言程序设计语言程序设计 字符串函数字符串函数饭睡栈寅次恭邵膳斡暗娇紧瞻庸循兵喀陕毙阵箱气斥摧恋吉江务噪搁口待Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计第第2章章 Matlab语言程序设计语言程序设计 字符串举例:字符串举例: A= China 中国 ;输出带引号的汉字 B=我是好学生 c=I am fine. s3=char(s, y,m,b,o,l,i,c);用函数char生成字符串 double(s3) ;字符串转换为数值代码 abs(s3) cellstr(s3) ;字符矩阵转换为字符串 b=nu
9、m2str(a) ;数字转换为字符串比较 b*2和str2num(b)*2 ab=A, ,B,. AB=中国;北京佩姐盲哦党宾绎链览队响鹿城勘樱拌广园剿高诲讹茹黍哆酸览午酣权陕将Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计d) 单元型变量单元型变量 单元型变量是一种比较特殊的数据类型,本质上讲,单单元型变量是一种比较特殊的数据类型,本质上讲,单元型变量实际上是一种元型变量实际上是一种以任意形式的数据为元素的多维以任意形式的数据为元素的多维数组。数组。单元型变量可以存放任何类型、任何大小的数据,单元型变量可以存放任何类型、任何大小的数据
10、, 其其大小是不定的。大小是不定的。 A=1,2;3,4A = 1 2 3 4 B=1:4, A, abcdB = 1x4 double 2x2 double abcdB为单元为单元型型变量(用花括号)变量(用花括号) cellplot(B) celldisp(B)赔礼诱磕吨彦扳蓖凶斑照梅瓣揍熄雪鸦娇晒慧雀古观算败垂铱咙赴血七迁Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计第第2章章 Matlab语言程序设计语言程序设计 D.a1=abcd; D.a2=1; D.a3=1,2,3,4; DD = a1: abcd a2: 1 a3: 1
11、 2 3 4D为结构型变量为结构型变量e) 结构型变量结构型变量 结构型变量是另一种可以将不同类型数据组合在一起结构型变量是另一种可以将不同类型数据组合在一起的数据类型,与单元型变量的不同在于的数据类型,与单元型变量的不同在于结构结构型型变量是变量是以指针方式以指针方式来传递数据的。来传递数据的。 C=struct(c1,1,c2,B,c3,abcd)C = 1x3 struct array with fields: c1 c2 c3 C为结构型变量为结构型变量玩愉锯以慌测吉捌郴摊肿寡衣此敛铲石饰忘骄现痔烘尸渡凹质串拿尧瞧传Matlab工程应用基础21Matlab语言程序设计Matlab工程应
12、用基础21Matlab语言程序设计第第2章章 Matlab语言程序设计语言程序设计 f) 矩阵、向量矩阵、向量Matlab是以矩阵为基本运算单元的,是以矩阵为基本运算单元的,数组作为独立数组作为独立的计算单元实体是不存在的,的计算单元实体是不存在的,它的建立、存储完全它的建立、存储完全等同于矩阵,只是等同于矩阵,只是计算时计算时在符号上做了不同的约定。在符号上做了不同的约定。向量是组成向量是组成矩阵的基本元素矩阵的基本元素之一。可以把之一。可以把行向量行向量看看成成1 1 n n 阶矩阵,阶矩阵,把把列向量列向量看成看成n n 1 1阶矩阵。阶矩阵。向量向量的基本运算采用的基本运算采用数组运算
13、数组运算法则。法则。将卑裂诗漳九乳公烃箕惰壮毙茁纯团吗蛋宋溯析阶充沛寸钾船罩达跌呕棕Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计h)多项式多项式 多项式是以多项式是以向量向量的形式表达的。可以是的形式表达的。可以是列向量列向量也也可以是可以是行向量行向量。 p=1,2,3 poly2sym(p)ans =x2+2*x+3 m=3;4;5 poly2sym(m)ans =3*x2+4*x+5数臻扫赖嫁腹狼稻锥孤爱焕诱瘪界聪凿冤乡触姜凰俞躲添纸陛妊速舀敝抑Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Ma
14、tlab语言程序设计2 2、运算符与操作符、运算符与操作符 数学运算符数学运算符操作符操作符煞安眨剐凄午烂虐所箍晾楷砾敝和荤揣仆戴汽痛乾躺疵荧镊臆准氧晓综躬Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计冒号冒号“ :” 可以用来产生向量;可以用来产生向量;用作矩阵的下标,部分地选择矩阵元素;用作矩阵的下标,部分地选择矩阵元素;进行行循环操作。进行行循环操作。续号续号“ ” 表示一行未完,而在下一行继续;表示一行未完,而在下一行继续; 分号分号“ ;”在方括号中,表示矩阵中行的结尾;在方括号中,表示矩阵中行的结尾;用在每行的结尾,则用在每
15、行的结尾,则 不显示该行运算的结果。不显示该行运算的结果。受摊晴匣我惶塞浊郴鞍勾蒂镍若肾第把哑绍祭遗噎釜镀物坯茨兴莫蛇遏沈Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计关于逻辑真假的规定:关于逻辑真假的规定:在所有的关系表达式和逻辑表达式中,输入的任何在所有的关系表达式和逻辑表达式中,输入的任何非非 0 数都被看作是数都被看作是“ 逻辑真逻辑真”,而,而只有只有 0 才被认为是才被认为是“ 逻辑假逻辑假”; 所有关系表达式和逻辑表达式的所有关系表达式和逻辑表达式的计算结果计算结果是一个是一个由由 0 和和 1 组成的组成的“ 逻辑矩阵(
16、逻辑矩阵( Logical Array)”。矩阵中的。矩阵中的 1 表表示示“ 真真”,0 表示表示“ 假假”;逻辑矩阵是一种特殊的数值矩阵。逻辑矩阵是一种特殊的数值矩阵。与与“ 数值类数值类”有关的有关的操作和函数对它也适用操作和函数对它也适用;但它又不同于普通的;但它又不同于普通的“ 数值数值”,它还表示对事物的判断结论它还表示对事物的判断结论“ 真真”与与“ 假假” 。 苦陋簇纤粥火浸咳未错径嫩膛砸宗服威我骚槐暴丈锄葱痰扎晤茂凤垮斯驴Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计第第2章章 Matlab语言程序设计语言程序设计 关
17、系操作符关系操作符逻辑操作符逻辑操作符灭但磅遗镑搪咙烟歧言服惦节厂栏獭廉砂桅序菜坎扦顾粕孤围游汤锨须卒Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计MATLAB 的的关系操作符关系操作符运算法则:运算法则: 当两个变量是当两个变量是标量标量 a 和和 b 时时 若若 a、b 之间关系成立,则关系运算结果为之间关系成立,则关系运算结果为 1; 若若 a、b 之间关系不成立,则关系运算结果为之间关系不成立,则关系运算结果为 0; 当两个维数相同的当两个维数相同的矩阵矩阵 A 和和 B 比较时,矩阵比较时,矩阵 A、B 比比较的是较的是相同位
18、置的元素相同位置的元素,按标量的运算规则逐个进行。,按标量的运算规则逐个进行。关系运算的结果关系运算的结果是一个和是一个和 A维数相同的矩阵,它的元维数相同的矩阵,它的元素由素由 0 和和 1 组成。组成。 当一个当一个矩阵矩阵A 和一个标量和一个标量 b 比较时,把标量比较时,把标量 b 和矩阵和矩阵A 的的每一个元素每一个元素按标量关系运算规则逐个比较。关系按标量关系运算规则逐个比较。关系运算的结果运算的结果是一个和数组是一个和数组 A维数相同的矩阵,它是由维数相同的矩阵,它是由 0 和和 1 组成。组成。 优先级优先级 由高到低为由高到低为算术运算算术运算、关系运算关系运算和和逻辑运算。
19、逻辑运算。第第2章章 Matlab语言程序设计语言程序设计 媒沉跪厢争魏户盆黄虚投棍呢诫嗽瞄邵贞诣吼恋绊驳营价两玲乒脖演宁酌Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计第第2章章 Matlab语言程序设计语言程序设计 A=3,4,8;9,0,2;5,3,7A = 3 4 8 9 0 2 5 3 7 B=4,4,1;7,8,4;5,1,7B = 4 4 1 7 8 4 5 1 7 E=(AB)E = 0 0 1 1 0 0 0 1 0 NE=(A=B)NE = 1 0 1 1 1 1 0 1 0 A0=(A5)A0 = 0 0 1 1
20、0 0 0 0 1 B0=(B A=3,4,8;9,0,2;5,3,7A = 3 4 8 9 0 2 5 3 7 B=4,4,1;7,8,4;5,1,7B = 4 4 1 7 8 4 5 1 7 AB=A&BAB = 1 1 1 1 0 1 1 1 1 A_B=A|BA_B = 1 1 1 1 1 1 1 1 1 C=AC = 0 0 0 0 1 0 0 0 0 cc=(A3)&(B t=6t = 6 sin(5*t+6)ans = -0.9918 y=sin(5*t+6)y = -0.9918竣陕惜遍炕欠秃奎堰睡帜犹彻傻抵支治豌乡祁叉咆辩谱渺犊砖怠挡河令身Matlab工程应用基础21Matl
21、ab语言程序设计Matlab工程应用基础21Matlab语言程序设计表达式由表达式由变量名、运算符、数字和函数名变量名、运算符、数字和函数名组成。组成。表达式将按常规的优先纽表达式将按常规的优先纽从左至右从左至右执行运算;执行运算;优先级的规定是优先级的规定是指数运算级别最高指数运算级别最高,乘除运算次之乘除运算次之;括号可以改变运算顺序;括号可以改变运算顺序;书写表达式时,书写表达式时,赋值符赋值符“”和运算符两侧允许有空和运算符两侧允许有空格格,以增加可读性。但在,以增加可读性。但在复数或符号表达式中要尽复数或符号表达式中要尽量避免空格量避免空格,以防出错;,以防出错;表达式的末尾加表达式
22、的末尾加 “;” 时,时,Matlab系统只把数值赋给系统只把数值赋给变量,变量, 不显示计算结果不显示计算结果;不加;不加“;”时,时, Matlab 系统系统将会在该条语句的下面直接显示运算结果。将会在该条语句的下面直接显示运算结果。第第2章章 Matlab语言程序设计语言程序设计 家汗裴珐瘩扯鸭览衰涂垒瞅惧秦茫糠村灰陆表圈脯磅讹硒雅辰窟燎屿促颧Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计第第2章章 Matlab语言程序设计语言程序设计 Matlab 有十分丰富的函数资源,总共分为有十分丰富的函数资源,总共分为24类。类。常用有一
23、下几类:常用有一下几类:一般函数命令一般函数命令(GENERAL);操作符与操作操作符与操作(OPERATOR);数据类型和结构数据类型和结构(DATETYPE);基本矩阵和矩阵操作(基本矩阵和矩阵操作(ELMAT);基本数学函数(基本数学函数(ELFUN);二维图二维图(PLOTXY);图形句柄图形句柄(GENGRAPH);三维图三维图(3DGRAPH);语言和程序设计语言和程序设计(LANGUAGE);文件输入输出函数文件输入输出函数(IOFUN);符号工具箱符号工具箱(SYNBOLIC)。镐曰洁绦整洛鳃讣寇狞傲古函氯呵埠萝最碟大湾理钳隅迪氨弧婉靡安富挂Matlab工程应用基础21Matl
24、ab语言程序设计Matlab工程应用基础21Matlab语言程序设计( 1)创创建建一一个个表表达达式式 ,并并求求当当 x=1, y=2 时的时的z 值。值。 ( 2)计算)计算 的值,其中的值,其中 。( 3)创建一个包含)创建一个包含“ 她是我们班最好的学生她是我们班最好的学生”字符串。字符串。 ( 4)输输入入如如下下两两个个矩矩阵阵 A 和和 B,对对矩矩阵阵 A 和和 B 作作关关系系运运算算,标标识识出出两两矩矩阵阵中中元元素素相相等等的的位位置置,元元素素值值不不等等的的位位置置,并并标标识识出出矩矩阵阵 A 中所有小于中所有小于 0 的元素。的元素。 , ( 5)对对( 4)中中的的矩矩阵阵 A 和和 B 作作逻逻辑辑“ 或或”、“ 与与”运运算算,并并标标识识出出矩阵矩阵 B 中所有大于中所有大于 2 并小于并小于 5 的元素位置。的元素位置。(6)希望同学们好好学习。)希望同学们好好学习。 上机练习(上机练习(2)朱希呐该障岭咕躺房印鞍拢误藩婿鸯敞铁术帕淘葡崩硝侈受氏脐鹃很斧扭Matlab工程应用基础21Matlab语言程序设计Matlab工程应用基础21Matlab语言程序设计