字符与文本
优质
小牛编辑
129浏览
2023-12-01
用单引号输入文本至MATLAB。例如,
s = 'Hello'
结果不是我们迄今为止处理过的数字矩阵或数组。它是一个1*5的字符数组。
在内部,字符是以数字存储的,而不是用浮点格式。语句
a = double(s)
把字符数组转换为包含每个字符ASCII码的浮点表示的数字矩阵。
a = 72 101 108 108 111
语句
s = char(a)
把变化逆转。
把数字变成字符使你能在计算机上调查不同字体。在ASCII字符集中可打印的字符是由32:127
的整数表示的。(小于32的整数表示不可打印的控制字符。)这些整数编排在一个恰当的6*16数组里。
F = reshape(32:127,16,6)';
在扩展ASCII码中的可打印字符用F+128
表示。当这些整数翻译成字符时,结果决定于当前所用字形。输入语句
char(F) char(F+128)
然后改变用于MATLAB命令窗口的字形。从File菜单选择Preferences。一定要尝试Symbol和Wingdings字体,若你的计算机中存在该字体。这是可能得到的某种输出的例子。
!"#$%&'()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~\x7f °¢§·¶ß®©TM´¨ÆØ \xb0 ±¥µ¹²³½ªº¾æø ¿¡¬Ýý«»...þÀÃÕ ---""`'÷Þÿ\xd9 \xda ¤\xde \xdf ·ÂÊÁËÈÍÎÏÌÓÔ ÒÚÛÙ\xf5 ~¯\xf9 \xfa °¸\xfd \xfe \xff
用方括号把文本变量连接成更长的字符串。语句
h = [s, ' world']
把字符串水平地连接起来并产生
h = Hello world
语句
v = [s; 'world']
把字符串另起一行连接并产生
v = Hello world
注意,在h里,字母'w'前必须插入空格,在v中,两个词必须等长。得到的两个数组都是字符数组;h是1*11的,v是2*5的。
要改变包含不同长度行的文本体,有两个选择--填补字符的数组或字符串地单元数组。char
函数允许任何长度的语句,添加空格到每行以使它们具有相同长度,生成一个独立成行的字符串数组。例如,
S = char('A','rolling','stone','gathers','momentum.')
生成一个5*9的字符数组。
S = A rolling stone gathers momentum.
S的前四行里,每行都有足够的空格使得各行等长。另一种选择是,把文本保存到单元数组中。例如,
C = {'A';'rolling';'stone';'gathers';'momentum.'}
是一个5*1的单元数组。
C = 'A' 'rolling' 'stone' 'gathers' 'momentum.'
用下面语句可以把一个填补字符数组转换成字符串单元数组
C = cellstr(S)
用下面语句把过程逆转
S = char(C)