Matlab基础及其应用教程0课件2.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Matlab基础及其应用教程0课件2.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 基础 及其 应用 教程 课件
- 资源描述:
-
1、第2章MATLAB数据对象【本章学习目标】掌握MATLAB数据对象的特点。掌握变量的创建与管理。掌握矩阵的生成、转换与运算。掌握MATLAB基本的运算规则。2.1 数值数据及操作MATLAB的数据类型包括逻辑类型(logical)、字符类型(char)、数值类型(numeric)、表类型(table)、单元类型(cell)和结构类型(struct)等。各种数据类型之间可以相互转换。数值类型又分为整形(包含int8、int16、int32、int64等)和浮点型(single和double)。2.1 数值数据及操作默认情况下,MATLAB会将数值数据按双精度浮点(double)类型存储和处理。1
2、.1.数值数据类型数值数据类型(1)整型2.1.1 数值数据MATLAB 默认以双精度浮点形式存储数值数据。要以整数形式存储数据,则可以使用表2.1中的转换函数。例如,将数12345以16位有符号整数形式存储在变量x中:x=int16(12345);2.1 数值数据及操作使用表2.1中的转换函数将浮点型数据转换为整数时,MATLAB 将舍入到最接近的整数。如果小数部分正好是 0.5,则 MATLAB 会从两个同样临近的整数中选择绝对值更大的整数。例如:x=int16(-1.5,-0.8,-0.23,1.23,1.5,1.89)x=16 int16 行向量 -2 -1 0 1 2 22.1.1
3、数值数据2.1 数值数据及操作MATLAB提供4种转换函数,用于采取指定方式将浮点型数据转换为整型。round函数:四舍五入为最近的小数或整数。fix函数:朝零方向四舍五入为最近的整数。floor函数:朝负无穷大方向四舍五入。ceil函数:朝正无穷大方向四舍五入。2.1.1 数值数据例如:x=round(-1.5,-0.8,-0.23,1.23,1.5,1.89)x=-2 -1 0 1 2 2 x=fix(-1.5,-0.8,-0.23,1.23,1.5,1.89)x=-1 0 0 1 1 1例如:x=floor(-1.5,-0.8,-0.23,1.23,1.5,1.89)x=-2 -1 -1
4、 1 1 1 x=ceil(-1.5,-0.8,-0.23,1.23,1.5,1.89)x=-1 0 0 2 2 22.1 数值数据及操作(2)浮点型:用于存储和处理实型数据,单精度(single):在内存中占用4个字节 双精度(double):在内存中占用8个字节,双精度型数精度更高。(3)复型在MATLAB中,虚数单位用i或j表示。例如,5+6i、x+1i*y。当所创建的复数实部或虚部是非浮点型数时,则使用complex函数生成复数,例如:complex(3,int8(4)ans=int8 3+42.1.1 数值数据2.1 数值数据及操作2.判别数据类型调用这些函数时,如果函数参数属于该类
5、型,返回值为1,否则返回值为0。2.1.1 数值数据使用isa函数判别数据对象是否为指定类型:isa(obj,ClassName)2.1 数值数据及操作3.获取特殊值2.1.1 数值数据例如:d=epsd=2.2204e-16 d=eps(single)d=single 1.1921e-072.1 数值数据及操作 日常记数法:1.23456、9.8765i、3.4+5i 科学记数法:1.56789e2、1.234e5 10i用字母e或E表示以10为底的指数。2.1.2 数据的输出格式数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为:format 格式符2.1
6、 数值数据及操作2.1.2 数据的输出格式假定x=4/3 1.2345e-6x在各种不同的格式符下的输出为短格式(short):1.3333 0.0000短格式e方式(shortE):1.3333e+00 1.2345e-06长格式(long):1.333333333333333 0.000001234500000长格式e方式(longE):1.333333333333333e+00 1.234500000000000e-06十六进制格式(hex):3ff5555555555555 3eb4b6231abfd271+格式(+):+银行格式(bank):1.33 0.00format命令只影响数
7、据输出格式,而不影响数据的计算和存储。2.2 变量及其操作1 1变量命名变量命名在MATLAB中,变量名是以字母开头,后跟字母、数字或下划线的字符序列,最多63个字符。变量名区分字母的大小写。不能使用MATLAB的关键字作为变量名。2.2.1 变量与赋值2.2 变量及其操作2 2赋值语句赋值语句MATLAB赋值语句有两种格式:变量=表达式表达式如果在命令的最后加分号,MATLAB仅仅执行赋值操作,不显示运算的结果。在MATLAB命令后面可以加上注释,用于解释或说明命令的含义,对命令处理结果不产生任何影响。注释以%开头,后面是注释的内容。2.2.1 变量与赋值2.2 变量及其操作【例2.1】当
8、时,计算表达式 的值,并将结果赋给变量y,然后显示结果。在MATLAB命令行窗口分别输入命令:x=sqrt(1+pi);y=(exp(x)+log(abs(sin(x)2-sin(x*x)/(x-5i)%计算表达式的值y=0.5690+1.3980i2.2.1 变量与赋值1x 22eln sinsin5xxxxi2.2 变量及其操作3预定义变量2.2.1 变量与赋值2.2 变量及其操作1 1内存变量的显示与修改内存变量的显示与修改who函数按字母顺序列出当前工作区中的所有变量,whos函数工作区中按字母顺序列出当前工作区中的所有变量及大小、类型。2.2.2 变量的管理 who您的变量为:R a
9、 b c t x y z whos Name Size Bytes Class Attributes R 1x1 2 int8 complex a 1x315 2520 double b 2x3 48 double c 2x3 96 double complex t 1x100 800 double x 1x1 8 double y 1x1 16 double complex z 100 x315 252000 double 2.2 变量及其操作1 1内存变量的显示与修改内存变量的显示与修改clear命令用于清除MATLAB工作区中的变量,但预定义变量不会被清除。MATLAB工作区面板用于内存
10、变量的管理。2.2.2 变量的管理图2.3 变量编辑器2.2 变量及其操作2内存变量文件MAT文件是MATLAB保存数据的一种标准格式二进制文件。MAT文件的生成和加载由save和load命令来完成。常用格式为:Save 文件名 变量名表 -append-asciiload 文件名 变量名表 -ascii2.2.2 变量的管理假定变量a和b存在于MATLAB工作区中,输入以下命令便可将a和b保存于当前文件夹的mydata.mat文件中:save mydata a b使用mydata.mat文件中的矩阵a和b,则执行以下命令:load mydata2.3 MATLAB数组数组1构造矩阵建立矩阵的
11、最简单的方法是使用矩阵构造运算符。2.3.1 构造数组例如:A=1,2,3;4,5,6;7,8,9A=1 2 3 4 5 6 7 8 9 B=1,2+7i,5*sqrt(-2);3,2.5i,3.5+6iB=1.0000+0.0000i 2.0000+7.0000i 0.0000+7.0711i 3.0000+0.0000i 0.0000+2.5000i 3.5000+6.0000i2.3 MATLAB数组数组2构造行向量使用冒号表达式 a:b:c其中,a为初始值,b为步长,c为终止值。冒号表达式可产生一个由a开始到c结束,以步长b自增的行向量。2.3.1 构造数组 t=0:2:10t=0 2
12、 4 6 8 10 t=0:-2:-8t=0 -2 -4 -6 -82.3 MATLAB数组数组2构造行向量用linspace函数构建线性等间距的行向量,logspace函数构建对数等间距的行向量:linspace(a,b,n)logspace(a,b,n)其中,参数a和b是生成向量的第1个和最后1个元素,选项n指定向量元素个数。当n省略时,默认生成100个元素。2.3.1 构造数组 x=linspace(0,10,6)x=0 2 4 6 8 102.3 MATLAB数组数组3 3串联数组串联数组串联数组是用已有数组拼接而成大数组的过程。2.3.1 构造数组 A=1,2,3;4,5,6;7,8
13、,9;B=11:13;14:16;17:19;C=A,B;B,AC=1 2 3 11 12 13 4 5 6 14 15 16 7 8 9 17 18 19 11 12 13 1 2 3 14 15 16 4 5 6 17 18 19 7 8 92.3 MATLAB数组数组4获取数组大小(1)size函数size函数用于获取数组指定维度的长度,函数的调用格式为:size(A,dim)其中,A是数组,dim指定维度,当dim省略时,则返回一个向量,向量各个元素的值对应每一个维度的长度。2.3.1 构造数组 A=1,2,3,4;55,66,77,88;size(A)ans=2 4 size(A,2
14、)ans=42.3 MATLAB数组数组4获取数组大小(2)length函数和numel函数length函数用于获取最大数组维度的长度,即length(A)=max(size(A);numel函数用于获取数组元素的个数。2.3.1 构造数组 A=1,2,3,4;55,66,77,88;length(A)ans=4 numel(A)ans=82.3 MATLAB数组数组4获取数组大小(3)sub2ind函数和ind2sub函数索引是数组元素在内存中的排列顺序。在MATLAB中,数组元素按列存储,先存储第1列元素,再存储第2列元素,一直到最后一列元素。2.3.1 构造数组 A=0,20,60,30
15、0;555,556,7,88;A(5)ans=60 sub2ind(size(A),1,3)ans=52.3 MATLAB数组数组5 5构造多维构造多维数组数组2.3.1 构造数组 A=1,2,3,4;5,6,7,8;%A是24的矩阵 AA(:,:,1)=A;AA(:,:,2)=A/2AA(:,:,1)=1 2 3 4 5 6 7 8AA(:,:,2)=0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.00002.3 MATLAB数组数组1引用单个矩阵元素A(row,col)2.3.2 引用矩阵元素 A=1,2,3;4,5,6;A(2,3)=
16、76A=1 2 3 4 5 76 A(4,6)=100;在MATLAB中,也可以采用矩阵元素的索引来引用矩阵元素:A(13)=200A=1 2 3 200 0 0 4 5 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1002.3 MATLAB数组数组2引用矩阵片段(1)利用冒号表达式引用多个数组元素2.3.2 引用矩阵元素 A=1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;A(2:3,5)%引用A的第2到3行、第5列的元素ans=10 15利用向量和end运算符等来表示矩阵下标,获得子矩阵。A(end,:)%引用A最后一
17、行元素ans=16 17 18 19 20 A(1,4,3:end)%引用A第1行和第4行中第3列到最后一列的元素ans=3 4 5 18 19 202.3 MATLAB数组数组3删除矩阵行或列采用将其置为空矩阵将某些行或列从矩阵中删除。2.3.2 引用矩阵元素 A=1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18;A(:,2 4)=%删除A矩阵的第2列和第4列元素A=1 3 5 6 7 8 11 12 13 15 17 182.3 MATLAB数组数组4 4改变矩阵形状改变矩阵形状(1)reshape函数reshape(A,m,n)函数在矩阵元素个数保
18、持不变的前提下,将矩阵A重新排成m n的二维矩阵。2.3.2 引用矩阵元素 x=linspace(100,111,12);%产生有12个元素的行向量x y=reshape(x,3,4)%利用向量x建立34矩阵yy=100 103 106 109 101 104 107 110 102 105 108 111(2)矩阵堆叠A(:)将矩阵A的各列元素堆叠起来,成为一个列向量。2.4 MATLAB运运算矩阵运算遵循线性代数的法则数组运算执行逐个元素运算。1矩阵运算(1)矩阵加减若参与加/减运算的两个矩阵的维度相同,则两个矩阵的相应元素相加减。若参与加/减运算的两个矩阵的维度不相同,则MATLAB将给
展开阅读全文