欢迎光临散文网 会员登陆 & 注册

Matlab扫盲17:字符型数组、创建、判断和索引方法,集合运算、与数值型转换方法、运算

2023-06-22 22:42 作者:freexyn_数学建模编程  | 我要投稿

1.概念

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

2.创建、判断和索引

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

程序示例:

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

b='freexyn'

c='自由未知数'

size(c)  %查看行列数

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

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

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

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

3.字符数组的连接

多个字符数组连接的方法与数值型数组连接的方法一致,具体看文章7Matlab扫盲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

Matlab扫盲17:字符型数组、创建、判断和索引方法,集合运算、与数值型转换方法、运算的评论 (共 条)

分享到微博请遵守国家法律