版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章程序设计第1章 MATLAB语言入门语言简单易学语言简单易学代码短小高效代码短小高效计算功能强大计算功能强大绘图非常方便绘图非常方便扩充能力强大扩充能力强大帮助功能完整帮助功能完整R2006a2007a2008a发展历程发展历程基本特点基本特点进入编译平台进入编译平台编译编译m m文件或命令窗口输入函数命令文件或命令窗口输入函数命令设计可视化程序界面设计可视化程序界面 进一步编制进一步编制m m文件文件( (底稿文件和函数文件底稿文件和函数文件) )编译过程与完善程序编译过程与完善程序学习文件学习文件编程步骤编程步骤(1)使用函数在线帮助使用函数在线帮助 help 函数
2、命令函数命令=名称通常是小写字母名称通常是小写字母(2)使用全部帮助。使用全部帮助。 MATLAB7.0的自述文件,见图的自述文件,见图1-14计算计算 1到到100的平方和。的平方和。 x=1:100y=x.2;z=sum(y)鼠标双击鼠标双击WinXP桌面上图标桌面上图标在在WinXP“开始开始”菜单的菜单的 “程序程序”选项中选择选项中选择 “ MATLAB”退出退出MATLAB命令窗口键入命令窗口键入“quit”或或 “Ctrl+Q”鼠标选择菜单鼠标选择菜单 file Exit MATLABMATLAB 使用简介使用简介启动启动 MATLABMATLAB桌面桌面命令窗口命令窗口工作空间
3、浏览工作空间浏览命令历史窗命令历史窗口口命令窗口、编辑窗口、图形窗口命令窗口、编辑窗口、图形窗口MATLAB 使用简介使用简介 n=0:1:63;S=sum(2.n)S = 1.8447e+019例例2. 计算计算sin x 在在 处的值处的值3,4,6,8 clear x=pi./8,6,4,3,y=sin(x)y = 0.3827 0.5000 0.7071 0.8660MATLAB 使用简介使用简介7/ 15例例1.计算级数计算级数:S=1+2+22+23+263= 6302nn2.1 常量与变量常量与变量2.2 数组建立与引用数组建立与引用2.3 运算符运算符2.4 m文件文件2.5
4、程序设计程序设计 MATLAB文件形式文件形式命令文件的命名与位置命令文件的命名与位置函数文件的命名与格式函数文件的命名与格式M文件的调试文件的调试顺序结构顺序结构分支结构分支结构循环结构循环结构2.1.1特殊常量特殊常量 MATLAB中特殊的固定变量称为常量。中特殊的固定变量称为常量。 ans pi realmax realmin inf NaN i j date clock tic toc 2.1 常量与变量_1常常 数数返返 回回 值值ans默认变量名,保存最近的结果默认变量名,保存最近的结果pi圆周率圆周率realmax最大正浮点数最大正浮点数realmin最小正浮点数最小正浮点数in
5、f无限值无限值i,j虚数单位虚数单位NaN不合法的数值值,非数值不合法的数值值,非数值date日期日期clock时间时间复数指令:复数指令:real(z) 给出复数给出复数z的实部;的实部;image(z) 给出复数给出复数z的虚部;的虚部;abs(z) 给出复数给出复数z的模;的模;angle(z) 以弧度为单位计算以弧度为单位计算z的复角。的复角。2.1.2一般变量一般变量(可动变量可动变量) MATLAB依据变量值或对变量操作来识别变量类型,依据变量值或对变量操作来识别变量类型,不要求事先对所使用变量进行声明或指定变量类型。不要求事先对所使用变量进行声明或指定变量类型。 MATLAB中的
6、变量命名规则:中的变量命名规则:(1)变量名区分大小写。)变量名区分大小写。(2)变量名长度不超过)变量名长度不超过31位。位。(3)变量名以字母开头,可以是字母、数字、下划线组)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。成,但不能使用标点。 2.1 常量与变量_2 变量命名规则变量命名规则MATLAB中的变量作用域。中的变量作用域。例如:合法变量名例如:合法变量名x1 ,x2 ,a,b,c , abc,Ma1,zhang_3xNo_1,alpha, 不合法变量:不合法变量:x%1,2x,x变量,变量,a b c.变量名和函数名对字母的大小写敏感变量名和函数名对字母的大小
7、写敏感; X,x , Z , z 是不同变量是不同变量创建变量创建变量在命令窗口中直接输入变量名称创建在命令窗口中直接输入变量名称创建A9A 9isvarname 8th_column /确认变量名的合法性确认变量名的合法性ans= 0举举 例例描描 述述逻辑型数组逻辑型数组magic(4)10包含包含1、0或或true、false字符型数组字符型数组Hello长度长度16位,即为字符串位,即为字符串Int8、unit8int16、unit16uint8(magic(3)长度为长度为8位、位、16位的有符号和无符位的有符号和无符号整型数组号整型数组single3*1038 单精度数值型数组单精
8、度数值型数组double3*103005+6i双精度数值型数组双精度数值型数组单元数组单元数组17 hello eye(2)包含其他数组。将不同大小有关包含其他数组。将不同大小有关系的数据集中到一起系的数据集中到一起结构数组结构数组a.day=12;a.color=red;a.mat=magic(3);具有字段名。包含其他数组。与具有字段名。包含其他数组。与单元数组类似单元数组类似MATLAB用用format命令来控制输出格式,命令来控制输出格式,format short 短格式短格式 3.146format long 长格式长格式 3.14159265358979format short e
9、 短格式短格式e 3.1416e+000format long e 长格式长格式e 3.141592653589793e+000format rat 分数格式分数格式 355/113format bank 银行格式银行格式 3.14who 列出在列出在MATLAB工作空间中已有的变量工作空间中已有的变量whos 列出驻留变量的同时列出驻留变量的同时, ,还给出维数及性质还给出维数及性质clear 删除内存中的变量(数据)删除内存中的变量(数据)clc 删除命令窗口的内容(已使用过的命令)删除命令窗口的内容(已使用过的命令)home 光标移到命令窗口的左上角光标移到命令窗口的左上角clf 删除图
10、形窗口的内容删除图形窗口的内容 调出刚才使用过的命令调出刚才使用过的命令quit 退出退出MATLABdir 显示当前目录下文件及子目录显示当前目录下文件及子目录MATLAB命令窗口的部分通用命令命令窗口的部分通用命令2.2 数组_1 建立与引用2.2数组数组 2.2.1建立数组建立数组 1 逐个元素输入法逐个元素输入法格式:格式:x=a,b,c x=a b c 例例2-1 2.2 数组_1 建立与引用2 冒号法冒号法格式:格式:x=初始量:步长:终止量初始量:步长:终止量x = i : jiji j1x = i: j: k iki kj 例例2-2 2.2 数组_1 建立与引用3 特殊方法特
11、殊方法 linspace,logspacex=linspace(初始量:终止量:数组元素个数)(初始量:终止量:数组元素个数)x=logspace(初始量:终止量:数组元素个数)(初始量:终止量:数组元素个数) 例例2-3 例例2-4 2.2 数组_1 建立与引用2.2.2数组应用数组应用格式:A(s):数组A的第s 个元素 例如:A(3)=7 A(1,3,5)=2 A(1,3,5)=2,6,72.2.1 创建矩阵的常用方法创建矩阵的常用方法:直接输入法三条规则:直接输入法三条规则: 矩阵元素必须在方括号矩阵元素必须在方括号 之内之内; 同一行相邻元素间用逗号或空格分隔同一行相邻元素间用逗号或
12、空格分隔; 矩阵的行与行之间必须用分号分隔矩阵的行与行之间必须用分号分隔.例例4. 三阶三阶Hilbert矩阵矩阵 A=1 1/2 1/3;1/2 1/3 1/4; 1/3 1/4 1/5A = 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000函数法构造特殊矩阵函数法构造特殊矩阵聚合矩阵聚合矩阵通过连接一个或多个矩阵来形成新的矩阵通过连接一个或多个矩阵来形成新的矩阵C=A B/水平方向上聚合水平方向上聚合C=A;B/垂直方向上聚合垂直方向上聚合例例 A=ones(2,5)*6; B=rand(3,5); C=A;B C
13、=6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 6.0000 0.6154 0.7382 0.9355 0.8936 0.8132 0.7919 0.1763 0.9169 0.0579 0.0099 0.9218 0.4057 0.4103 0.3529 0.1389 获取矩阵的元素获取矩阵的元素A(row,column)具体的:A(r,c)A(r,:)A(:,c)A(:)A(s)A(L)A=2 6 9;4 2 8;3 5 1A= 2 6 9 4 2 8 3 5 1A(3,2)ans= 5A(6) /等同等同A(
14、3,2)ans= 5Sum(A(1:3,3) /求第三列元素之和求第三列元素之和12/18创建字符串使用单引号创建创建字符串使用单引号创建Country=China;name=Li Yi;Hu Xu/创建二维字符串数组创建二维字符串数组name= Li Yi Hu Xuname=Liu Ying;Hu Xu /字符串长度要相同字符串长度要相同name=char(Liu Ying,Hu Xu)/使用使用char函数创建函数创建Str2double函数将字符串单元数组转换为双精度值函数将字符串单元数组转换为双精度值c=37.294e-1;-58.375;13.796;d=str2double(c)
15、d= 3.7294 -58.3750 13.7960int2str:整型转换为字符串型整型转换为字符串型num2str:实数转换为字符串型实数转换为字符串型mat2str:矩阵转换为字符串型矩阵转换为字符串型比较字符串比较字符串str1=hello;str2=help;strcmp(str1,str2)C= 0 /falsestr1=str2ans= 1 1 1 0 0 /确定两个字符串中的相同字符确定两个字符串中的相同字符strncmp: 可选择字符串的前可选择字符串的前n+1个字符进行比较个字符进行比较聚合字符串聚合字符串num_chars=28;s=There are int2str(n
16、um_chars)characters here;s=sprintf(There are %d characters heren,num_chars);country=China;province=SiChuan;strcat(country,province)ans= China,SiChuan索引生成索引生成A=5 7 8;0 1 9;4 3 6; /创建一个二维数组创建一个二维数组A(:,:,2)=1 0 4;3 5 6;9 8 7; /为为A添加第三维添加第三维MATLAB函数生成函数生成B=randn(4,3,2); /创建正态分布随机数的创建正态分布随机数的432的数组的数组类似的
17、函数有类似的函数有ones(),zeros()等等cat函数生成函数生成B=cat(dim,A1,A2) /按指定的维数将多个数组聚合按指定的维数将多个数组聚合调用字段的数组调用字段的数组1、使用赋值语句创建结构数组、使用赋值语句创建结构数组=Lu dan;/可包含任何类型的数据可包含任何类型的数据student.ID=02;student.test=79 75 73;80 78 77.5;80 85 85;student(2).name=Han xu;/扩展结构数组扩展结构数组student(2).ID=10;student(2).test=68 70 68;78 8
18、8 81;92 90 93;2、使用、使用struct函数函数str_array=struct(field1,val1, field2,val2,)3、获取数据、获取数据str=student(2).namestudent(3).test(2,2)=87IDs=student.ID/包含所有的包含所有的ID字段字段4、操作字段、操作字段student(2).gender=boy;/为数组的每个结构添加字段为数组的每个结构添加字段student=rmfield(student,name);/删除给定字段删除给定字段mean(student(2).test);/计算计算test数组的行均值数组的行
19、均值total=sum(student.ID);所有所有ID字段求和字段求和能包含其它数组能包含其它数组1、创建单元数组、创建单元数组A1,1=1 4 3; 0 5 8;7 2 9;A1,2=Liu zhong;A2,1=3+7i;A2,2=-pi:pi/10:pi;/通过矩阵单元索引访问数据通过矩阵单元索引访问数据或或 A1,1=1 4 3; 0 5 8;7 2 9; A1,2=Liu zhong; A2,1=3+7i; A2,2=-pi:pi/10:pi;/通过矩阵内容索引访问数据通过矩阵内容索引访问数据2.2 数组_2 细胞数组与结构数组1 细胞数组细胞数组 例例2-8 细胞数组是以单元
20、为元素,每个单元可以包含其它类型数细胞数组是以单元为元素,每个单元可以包含其它类型数组,如实数矩阵、字符串数组、复数向量。细胞数组通常组,如实数矩阵、字符串数组、复数向量。细胞数组通常由由创建,其数据通过数组下标引用。创建,其数据通过数组下标引用。 2结构数组结构数组 例例2-9 结构数组是根据属性名组织起来的不同类型数据集合,属结构数组是根据属性名组织起来的不同类型数据集合,属性可以包含不同数据类型,结构数组数据通过属性名来引性可以包含不同数据类型,结构数组数据通过属性名来引用。用。s = struct(field1, , field2, , .) 2.3 运算符_1 算术运算符算术运算符
21、算术运算符算术运算符 算术加、减、乘及乘方与传统的基本相同;算术加、减、乘及乘方与传统的基本相同; 点运算点运算( (点乘、点乘方、点左除与点右除点乘、点乘方、点左除与点右除) )是指元素点对点是指元素点对点运算,要求参与运算变量结构相似。运算,要求参与运算变量结构相似。 除法运算:除法运算:a/b=ab; (ax=b,x=ab)2.3 运算符_2 关系运算符,逻辑运算符关系运算符,逻辑运算符 ,逻辑函数,逻辑函数2.3.2关系运算符关系运算符= = = = 例例 if (a(5)=1 & a(6)to S=char(T) %正整数矩阵正整数矩阵T转换为字符串矩阵转换为字符串矩阵S i
22、nt2str(A),num2str(A,k),num2str(A,format) eval(S),str2num (S)表示将字符串表示将字符串S转化为数值。转化为数值。2.3 运算符_4 字符串操作字符串操作例例例例2-21将数值矩阵将数值矩阵A转换成字符串矩阵。转换成字符串矩阵。 A =1.2 6.7 3.2; 5.5 9.5 7.8 算例代码算例代码 %例例2-21 A =1.2 6.7 3.2; 5.5 9.5 7.8; B1= int2str(A) B2=num2str(A,0) B3=num2str(A, %10.3f) % 3位有效位位有效位,10位长位长注意运行结果。注意运行结
23、果。2.3 运算符_5 字符串比较与求值字符串比较与求值3 字符串比较字符串比较 strcmp(str1,str2)表示将两个字符串进行比较表示将两个字符串进行比较 4 字符串求值字符串求值 inline(exr),inline(expr,arg1,arg2,.) inline(exr)表示将字符串表达式转化为函数表达式表示将字符串表达式转化为函数表达式 arg1,arg2,.为字符串,其作用是定义变量为字符串,其作用是定义变量 % 例例2-24 f=inline(5*sin(x)+3*cos(y),x,y) subs(f, x,1);2.3 运算符_6 字符串比较与求值字符串比较与求值 如果
24、其中的字符串要用具体数值代替,可以使用命令如果其中的字符串要用具体数值代替,可以使用命令subs。使用命令使用命令subs时不能同时替换多个变量、一次只能替换一个变时不能同时替换多个变量、一次只能替换一个变量,见下例。量,见下例。 例例 计算计算f=inline(5*sin(x)+3*cos(y),x,y)当当x=1、y=2时的数值。时的数值。 syms x y; f=inline(5*sin(x)+3*cos(y),x,y); A1=subs(f,x,1);A2=subs(A1,y,2);2.4 m文件文件_1 MATLAB中文件形式:中文件形式:.m .fig .mdl m文件文件“.m”
25、分命令文件和函数文件两种。分命令文件和函数文件两种。 2.4.1 命令文件命令文件 例例2-25 没有输入参数和输出参数、只是命令行的组合没有输入参数和输出参数、只是命令行的组合. 命令文件最好保存在命令文件最好保存在MATLAB7works子目录(工作目录)下子目录(工作目录)下(或非中文目录下或非中文目录下). 文件名命名与变量命名类似文件名命名与变量命名类似,文件名与内置函数及工具文件名与内置函数及工具箱函数不应重名、与命令文件及工作空间中的变量也不应箱函数不应重名、与命令文件及工作空间中的变量也不应重名重名(最好不用中文名最好不用中文名). 2.4 m文件文件_22.4.2 函数文件函数文件函数文件一般包括:函数文件一般包括: 函数定义行函数定义行: function 输出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版房屋买卖合同:购房者与开发商之间的购房权益、交付时间等详细约定
- 2024年标准油漆施工合作合同版B版
- 2024年科研成果保密合同
- 正装复合模装课程设计
- 2024年漳州卫生职业学院单招职业适应性测试题库带答案
- 完善财务报告的透明度要求计划
- 商城服务员工作总结
- 安防行业顾问工作总结
- 分析仓库工作中的服务意识计划
- 2025年中考英语一轮复习之主谓一致
- 2024-2025学年深圳市初三适应性考试模拟试卷历史试卷
- 广东省深圳市2023-2024学年高一上学期期末考试物理试题(含答案)3
- 常见生产安全事故防治PPT课件
- 粉末涂料使用说明
- 玻璃瓶罐的缺陷产生原因及解决方法63699
- 赞比亚矿产资源及矿业开发前景分析
- 高层住宅(23-33层)造价估算指标
- 大型储罐吊装方案
- “千师访万家”家访记录表(共2页)
- 海拔高度与气压、空气密度、重力加速度对照表
- 《青田石雕》教学设计
评论
0/150
提交评论