Matlab中字符串数组和字符数组中的文本
目录
字符串数组和字符数组中的文本
MATLAB® 中有两种表示文本的方式。从 R2016b 开始,可以将文本存储在字符串数组中。在任何版本的 MATLAB 中,都可以将文本存储在字符数组中。字符数组的一个典型用途是将文本片段存储为字符向量。MATLAB 用双引号显示字符串,用单引号显示字符向量。
用字符串数组表示文本
可以使用 string 数据类型将任何 1×n
字符序列存储为字符串。从 R2017a 开始,可以用双引号将文本括起来以创建字符串。
str = "Hello, world"
str =
"Hello, world"
虽然文本 "Hello, world"
的长度为 12 个字符,但 str
本身是 1×1 字符串或字符串标量。可以使用字符串标量来指定文件名、图标签或任何其他文本信息片段。要计算字符串中的字符数量,请使用strlength
函数。
n = strlength(str)
n = 12
如果文本包含双引号,请在定义中使用两个双引号。
str = "They said, ""Welcome!"" and waved."
str =
"They said, "Welcome!" and waved."
要将文本添加到字符串的末尾,请使用加号运算符 +
。如果变量可以转换为字符串,则 plus
会转换并追加它。
fahrenheit = 71;
celsius = (fahrenheit-32)/1.8;
tempText = "temperature is " + celsius + "C"
tempText =
"temperature is 21.6667C"
从 R2019a 开始,还可以使用 append
函数串联文本。
tempText2 = append("Today's ",tempText)
tempText2 =
"Today's temperature is 21.6667C"
string
函数可以转换不同类型的输入,如数值、日期时间、持续时间和分类值。例如,将 pi
的输出转换为字符串。
ps = string(pi)
ps =
"3.1416"
可以将多个文本片段存储在字符串数组中。数组的每个元素都可以包含一个具有不同字符数的字符串,而无需填充。
str = ["Mercury","Gemini","Apollo";...
"Skylab","Skylab B","ISS"]
str = 2x3 string array
"Mercury" "Gemini" "Apollo"
"Skylab" "Skylab B" "ISS"
str
是一个 2×3 的字符串数组。可以使用 strlength
函数计算字符串的长度。
N = strlength(str)
N = 2×3
7 6 6
6 8 3
从 R2018b 开始,MATLAB 和 MathWorks® 全线产品都支持字符串数组。接受字符数组(和字符向量元胞数组)作为输入的函数也接受字符串数组。
用字符向量表示文本
要使用 char
数据类型将 1×n
字符序列存储为字符向量,请用单引号将它引起来。
chr = 'Hello, world'
chr =
'Hello, world'
文本 'Hello, world'
的长度为 12 个字符,chr
将其存储为 1×12 字符向量。
whos chr
Name Size Bytes Class Attributes
chr 1x12 24 char
如果文本包含单引号,请在定义中使用双重单引号。
chr = 'They said, ''Welcome!'' and waved.'
chr =
'They said, 'Welcome!' and waved.'
字符向量有两个主要用途:
-
指定单个文本片段,如文件名和图标签。
-
表示使用字符进行编码的数据。在这种情况下,可能需要尽可能方便地访问单个字符。
例如,可以将 DNA 序列存储为一个字符向量。
seq = 'GCTAGAATCC';
可以通过索引来访问单个字符或字符子集,就像对数值数组进行索引一样。
seq(4:6)
ans =
'AGA'
用方括号串联字符向量,就像串联其他类型的数组一样。
seq2 = [seq 'ATTAGAAACC']
seq2 =
'GCTAGAATCCATTAGAAACC'
从 R2019a 开始,还可以使用 append
串联文本。推荐使用 append
函数,因为它以一致的方式处理字符串数组、字符向量和字符向量元胞数组。
seq2 = append(seq,'ATTAGAAACC')
seq2 =
'GCTAGAATCCATTAGAAACC'
接受字符串数组作为输入的 MATLAB 函数也接受字符向量和字符向量元胞数组。
相关文章
- Matlab中convertStringsToChars函数的使用
- Matlab中transpose函数的使用
- Matlab中filter函数用法
- Matlab中字符向量元胞数组
- Matlab中从字符数组转换为数值
- Matlab中imread和rgb2gray的使用
- [matlab] 5.字符运算与微积分
- 【MATLAB教程案例84】通过matlab实现数据的线性回归
- 【MATLAB教程案例60】使用matlab实现基于GRU网络的数据分类预测功能与仿真分析
- 【MATLAB教程案例39】语音信号的PCM编解码matlab仿真学习
- 【MATLAB教程案例38】语音信号的去噪方法matlab仿真学习——LMS自适应滤波,谱减法去噪滤波及维纳滤波等
- 【MATLAB教程案例25】常用图像变换域的matlab仿真分析——DFT频域,DCT域,小波域等
- 【MATLAB教程案例6】基于Costas环的载波同步matlab仿真
- 基于BP神经网络和ORL库的人脸识别matlab仿真
- 【高阶累积量】基于高阶累积量的信噪比盲估计法的matlab仿真
- 【配送优化】基于PSO算法的有效空间模型的配送优化MATLAB仿真
- 【盲信道估计】基于matlab的LMS盲信道估计QPSK仿真
- matlab中的三维可视化实现
- Radon变换的matlab仿真
- MATLAB安装机器人工具箱 Matlab_Robotic_Toolbox_v10.2
- 【Matlab 六自由度机器人】定义标准型及改进型D-H参数建立机器人模型(附MATLAB建模代码)
- 熵权法matlab具体步骤实现
- MATLAB | 趣味编程——线条艺术:柔线球
- Matlab数据可视化编程总结