[MATLAB]3-向量、字符串、单元数组_第1页
[MATLAB]3-向量、字符串、单元数组_第2页
[MATLAB]3-向量、字符串、单元数组_第3页
[MATLAB]3-向量、字符串、单元数组_第4页
[MATLAB]3-向量、字符串、单元数组_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第1页MATLAB程序设计程序设计张张 兵兵Email: zhangbing_第三讲 向量、字符串、单元数组MATLAB 程序设计程序设计Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第2页教学内容l向量向量l字符串字符串l单元数组单元数组Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第3页MATLAB向量向量l向量是向量是特殊数组,只有一行数据特殊数组,只有一行数据第四个元素:a( 4

2、)元素值为元素值为13索引向量向量a:Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第4页创建向量创建向量-直接输入法直接输入法l使用一系列常指使用一系列常指创建创建l指定初始值、步长、终值指定初始值、步长、终值 A = 2, 5, 7, 1, 3A = 2 5 7 1 3可用空格代替 B = 1:3:20B = 1 4 7 10 13 16 19start : step : end可能不包含在向量中Copyright 2014 by Zhang Bing, zhangbing_创建向量创建向量-通过向量运算通过向量运算2021年11月2日

3、第5页 A = 1 : 5A = 1 2 3 4 5 B = 5 : -1 : 1B = 5 4 3 2 1 C = A + BC = 6 6 6 6 6 D = C + A.*BD = 11 14 15 14 11Copyright 2014 by Zhang Bing, zhangbing_创建向量创建向量-使用内置函数使用内置函数lzeros, ones, rand, (略略)llinspace(a, b, num) 产生从产生从a到到b的等差数列,元素个数为的等差数列,元素个数为nllogspace(a, b, n) 创建从创建从10a到到10b之间,元素个数为之间,元素个数为n的指数

4、的指数数列数列2021年11月2日第6页Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第7页 A = linspace(0,10,6)A = 0 2 4 6 8 10 B = linspace(2,-2,5)B = 2 1 0 -1 -2 C = logspace(0,3,4)C = 1 10 100 1000 D = logspace(-1,-4,4)D = 0.1 0.01 0.001 0.0001Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第8页向量尺寸向量尺寸l元素个数元素个数

5、l插入或删除元素插入或删除元素向量向量a:size or lengthCopyright 2014 by Zhang Bing, zhangbing_2021年11月2日第9页向量索引(向量索引(1/2)l数值索引数值索引 第四个元素:a( 4 )索引Copyright 2014 by Zhang Bing, zhangbing_向量索引(向量索引(2/2)l逻辑索引逻辑索引 注意:命令窗口中显示的逻辑变量值是注意:命令窗口中显示的逻辑变量值是用用1代表真,用代表真,用0代表假。代表假。2021年11月2日第10页逻辑索引长度不逻辑索引长度不能超过向量长度能超过向量长度Copyright 20

6、14 by Zhang Bing, zhangbing_2021年11月2日第11页向量操作(向量操作(1/4)l算术运算算术运算+ - .* ./ .Copyright 2014 by Zhang Bing, zhangbing_向量操作(向量操作(2/4)l逻辑操作逻辑操作2021年11月2日第12页 = = = & | Copyright 2014 by Zhang Bing, zhangbing_向量操作(向量操作(3/4)l内置函数内置函数2021年11月2日第13页find sum mean min max fix 教材表2-16Copyright 2014 by Zhan

7、g Bing, zhangbing_向量操作(向量操作(4/4)l连接和切片连接和切片2021年11月2日第14页a(start:inc:end) = b(start:inc:end)Copyright 2014 by Zhang Bing, zhangbing_应用实例应用实例12021年11月2日第15页已知向量已知向量 A=2,5,7,1,3,4,1)将向量)将向量A中中索引为奇数索引为奇数的元素取出生成新向量的元素取出生成新向量B2)计算)计算B与与A中最大元素的差中最大元素的差Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第16页

8、应用实例应用实例2 力与力矩(力与力矩(1/2)xyzfabfafbPMm 已知作用于物体上P点的两个力fa、fb,计算P点的合力、该合力方向上的单位向量以及该力关于M点的力矩,其中:21 101 11 10401abPffMababfffabmMPfCopyright 2014 by Zhang Bing, zhangbing_2021年11月2日第17页应用实例应用实例2 力与力矩(力与力矩(2/2)当运行该代码后,返回的结果如下:代码清单代码清单 求解向量问题的脚本求解向量问题的脚本 %计算合力和合力矩clear;clc;%输入参数P=2,1,1;fa=0,1,1;fb=1,1,0;M=

9、4,0,1;%计算部分fab = fa+fb;fmag=sqrt(sum(fab.*fab);fdir=fab/fmag;m=cross(P-M,fab);%输出结果disp(合力大小=);disp(fmag);disp(合力方向=);disp(fdir);disp(对M点的合力矩=);disp(m);Copyright 2014 by Zhang Bing, zhangbing_字符串字符串l什么是字符串(什么是字符串(string)?)?2021年11月2日第18页字符串str = a string;元素为字符的元素为字符的一维数组一维数组Copyright 2014 by Zhang B

10、ing, zhangbing_2021年11月2日第19页字符串的生成(字符串的生成(1/2) l字符串的生成字符串的生成 stringname = the content of the string单引号注意:如果字符串中包含单引号,则需要用两个单引号代替Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第20页字符串的生成(字符串的生成(2/2) l字符串数组字符串数组长度必须相同char(str1,str2,)将不同长度的字符串组合成字符矩阵Copyright 2014 by Zhang Bing, zhangbing_2021年11月2

11、日第21页字符串的操作字符串的操作 l字符串的显示字符串的显示1. 直接显示法2. 采用disp函数显示l字符串的执行字符串的执行eval(str1,str2,)Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第22页字符串的运算字符串的运算l字符串的运算主要包括:字符串的运算主要包括:1. 判断字符串是否相等判断字符串是否相等2. 通过字符串运算来比较字符串中的字符通过字符串运算来比较字符串中的字符3. 进行字符分类、查找与替换进行字符分类、查找与替换4. 字符串与数值数组之间的相互转换字符串与数值数组之间的相互转换 函数名函数名函数用途函

12、数用途函数名函数名函数用途函数用途strcat横向连接字符串strvcat纵向连接字符串strcmp字符串比较strncmp比较字符串的前n 个字符findstr字符串查找strjust字符串对齐strmatch字符串匹配strrep字符串查找与替换strtok选择字符串中的部分blanks创建由空格组成的字符串deblank删除字符串结尾的空格ischar判断变量是否为字符串iscellstr判断字符串单元数组isletter判断数组是否由字母组成isspace判断是否空格stringsMATLAB 字符串句柄Copyright 2014 by Zhang Bing, zhangbing_2

13、021年11月2日第23页字符串的比较(字符串的比较(1/3)l字符串的比较:字符串的比较:strcmp 、 strncmp。 strcmp(str1,str2):当两个字符串相同时返回:当两个字符串相同时返回1,否则,否则返回返回0 strncmp(str1,str2,n):比较两个字符串的前面几个字:比较两个字符串的前面几个字符是否相同符是否相同Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第24页字符串的比较(字符串的比较(2/3)l比较运算符比较运算符符号符号符号意义符号意义英文简写英文简写=等于eq=不等于ne大于gt=大于等于g

14、e本质是作为本质是作为数组比较每数组比较每个字符个字符Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第25页字符串的比较(字符串的比较(3/3)l判断空格或者字母判断空格或者字母 isspace(str):判断字符串:判断字符串 str 中的字符是否为空格,中的字符是否为空格,是空格字符则返回是空格字符则返回1,否则返回,否则返回0。 isletter(str):判断字符串:判断字符串 str 中的字符是否为字母,中的字符是否为字母,是字母则返回是字母则返回1,否则返回,否则返回0。Copyright 2014 by Zhang Bing,

15、 zhangbing_2021年11月2日第26页字符串的查找和替换字符串的查找和替换l查找函数查找函数 findstr(str1,str2) :用于在一个字符串:用于在一个字符串str1中查找子字中查找子字符串符串str2,返回子字符串出现的起始位置,返回子字符串出现的起始位置 strrep(str1, str2, str3) :查找字符串中的子字符串并:查找字符串中的子字符串并将其替换为另一个子字符串将其替换为另一个子字符串原字符串原字符串并未改变并未改变Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第27页 strmatch(str,

16、 strs):在字符数组:在字符数组strs的每一的每一行中查找行中查找str开头的字符串开头的字符串 strtok:该函数用于选取字符串中的一个部分。:该函数用于选取字符串中的一个部分。该函数的简单用法为该函数的简单用法为 strtok(str)。字符串的查找和替换字符串的查找和替换Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第28页字符串与数值之间的转化(字符串与数值之间的转化(1/3) l字符串转换为对应字符串转换为对应ASCII码的数值型数组码的数值型数组字符串str:字符串的ASCII码:abs(str)类似地:double(s

17、tr),也可将字符串转换为双精度浮点数数组双精度数值型数组:Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第29页字符串与数值之间的转化(字符串与数值之间的转化(2/3) l char 函数:将数值数组转化为字符串函数:将数值数组转化为字符串 char(arr),将数值数组,将数值数组arr转化为字符串转化为字符串 char(str1,str2,str3,.),由字符串,由字符串 str1、str2 、str3、 生成字符矩阵生成字符矩阵Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第3

18、0页字符串与数值之间的转化(字符串与数值之间的转化(3/3)l其它函数其它函数函数功能备注uintN(如,uint8)将字符串转化为相应的无符号整数uint8(ab) 97 98str2num将字符型转化为数字型str2num(123.56) 123.5600str2double与上一函数的功能相同,结果更精确一些,同时支持单元字符串数组double(123.56) 49 50 51 46 53 54hex2num将十六进制数转化为双精度数hex2num(A) -1.4917e-154hex2dec将十六进制数基数转化为正数hex2dec(B) 11bin2dec将二进制转化为十进制bin2d

19、ec(1010) 10base2dec将 N 底数字字符串转化为十进制base2dec(212,3) 23Copyright 2014 by Zhang Bing, zhangbing_单元数组单元数组l什么是单元数组(什么是单元数组(cell array)2021年11月2日第31页数组元素的数据类型相同数组元素的数据数组元素的数据类型可以不同类型可以不同Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第32页单元数组的生成单元数组的生成l两种创建方式:两种创建方式: 一个是通过赋值语句直接创建;一个是通过赋值语句直接创建; 二是利用二是利用 cell 函数先为单元数组分配一个内存空间,函数先为单元数组分配一个内存空间,然后再给各个单元赋值。然后再给各个单元赋值。数组名数组名(索引索引1,索引索引2,) = 单元值单元值花括弧Copyright 2014 by Zhang Bing, zhangbing_2021年11月2日第33页单元数组元素的访问单元数组元素的访问 l使用使用A()和和A访

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论