MATLAB基础:字符型数组操作与集合运算

1.概念

字符型(Characters)数据一般用来存储和处理文本数据,字符数组是一个字符序列,字符向量把字符存储为1n的向量,是常用形式,在Matlab中有两种表示文本的方法:字符型和字符串型,本文先介绍字符型数组的创建、连接、转换和运算等内容;

2.创建、判断和索引

创建字符型数组使用一对单引号 '',判断一个变量是否为字符型数据使用函数ischar,字符数组的索引方法与数值型数组的索引方法用法相同,数值型数组的索引方法看文章6 Matlab矩阵索引、下标索引、线性索引、逻辑索引、冒号end索引、超出索引报错

程序示例:

a='123'  %创建字符数组

b='freexyn'

c='自由未知数'

size(c)  %查看行列数

ischar(a)  %判断是否为字符型

'I''m fine'  %字符数组内有单引号时,使用双引号表达

c(1:3)  %索引字符向量的元素

c(6)='.'  %通过索引改变字符向量的元素

3.字符数组的连接

多个字符数组连接的方法与数值型数组连接的方法一致,具体看文章7 Matlab扫盲7:矩阵元素的合并、连接、提取、翻转、排序、平铺复制、提取对角线元素,另外,也可以使用函数,水平连接使用strcat函数,竖直连接使用strvcat函数;

程序示例:

b='freexyn'

c='自由未知数'

[b,c]  %字符连接:中括号水平连接

strcat(b,c)  %水平连接函数

strvcat(b,c)  %垂直连接函数:列数不同时会自动补齐空格

4.字符数组的集合运算

集合运算就是计算交集、并集等,求交集使用函数intersect,求并集使用函数union

程序示例:

a='123'  %字符向量

b='1245'

union(a,b)  %并集

intersect(a,b)  %交集

5.字符型与数值型的转换方法

基于Unicode编码,进行字符和数值之间相互转换使用函数chardouble,基于字符字面义不变,进行字符和数值之间相互转换使用函数num2strstr2num

程序示例:

char(100)  %双精度100转化为字符型为d

char([97 98 99 100])  %转化14列数值型。返回结果a b c d

double('a')  %把字符a转化为数值型为97

num2str(100)  %把数值100转换成字符‘100’

str2num('100')  %把字符'100'转换成数值100

r=80

disp(['计算得出半径r',num2str(r)])  %结果:计算得出半径r80

6.字符型数组的运算

a='d'

b='100'  %13列字符向量:1 0 0

a+a  %字符自动转成数值再运算,返回200

a+b  %返回149 148 148

char(49)  %返回字符'1'

str2num('100')+str2num('100') %返回200

End

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空