一起来学演化计算-matlab基本函数strcmp num2str 字符串格式
觉得有用的话,欢迎一起讨论相互学习~Follow Me
strcmp
比较字符串
语法
tf = strcmp(s1,s2)
描述
- tf = strcmp(s1,s2)比较s1和s2,如果两者相同,则返回1 (true)。否则,strcmp返回0 (false)。如果文本的大小和内容相同,则认为文本是相同的。返回的结果tf是逻辑类型的数据。
输入可以是字符向量、字符数组和字符向量的单元格数组的组合。
示例
比较两个字符串向量
s1 = 'Yes';
s2 = 'No';
tf = strcmp(s1,s2)
tf =
0
strcmp returns 0 because s1 and s2 are not equal.
Compare two equal character vectors.
s1 = 'Yes';
s2 = 'Yes';
tf = strcmp(s1,s2)
tf =
1
strcmp returns 1 because s1 and s2 are equal.
在单元格数组中查找文本
s1 = 'upon';
s2 = {'Once','upon';
'a','time'};
tf = strcmp(s1,s2)
tf =
0 1
0 0
数组s2中只出现一次s1,它发生在元素s2(1,2)处
比较两个字符向量单元数组
- 比较两个字符向量单元数组中的每个元素
s1 = {'Time','flies','when';
'you''re','having','fun.'};
s2 = {'Time','drags','when';
'you''re','anxiously','waiting.'};
tf = strcmp(s1,s2)
tf =
1 0 1
1 0 0
在s1和s2中有三个相等元素的实例。这些是下标(1,1)处的“Time”,下标(1,3)处的“when”,下标(2,1)处的“you re”。
输入参数
输出参数
num2str
将数字转换为字符串
语法
- s = num2str(A) 将数字数组转换为字符串表示形式。输出格式取决于原始值。num2str用于标记和用数字给图做标题。
- s = num2str(A,precision) 返回一个字符串表示形式,其中包含精度指定的最大有效位数。
s = num2str(A,formatSpec) 将formatSpec指定的格式应用于A的所有元素。
示例
浮点数的默认转换
- 将pi和eps返回的浮点值转换为字符串
s = num2str(pi)
s =
3.1416
s = num2str(eps)
s =
2.2204e-16
指定精度
- 指定浮点值的有效位数的最大数目
A = gallery('normaldata',[2,2],0);
s = num2str(A,3)
s =
-0.433 0.125
-1.67 0.288
指定格式
- 对浮点数数组指定宽度,精度和格式
A = gallery('uniformdata',[2,3],0) * 9999;
s = num2str(A,'%10.5e\n')
s =
9.50034e+03
6.06782e+03
8.91210e+03
2.31115e+03
4.85934e+03
7.62021e+03
- 格式“%10.5e”以五位小数的指数格式打印每个值,“\n”打印一个新行字符。并且只打印10位数字
字符串打印格式
输出字段的格式,指定为包含格式化操作符的字符向量。formatSpec还可以包含普通文本和特殊字符
格式化操作符
格式化操作符以百分号、%开始,以转换字符结束。还可以在%和转换字符之间指定标识符、标志、字段宽度、精度和子类型操作符。(操作符之间的空格无效,此处仅显示可读性)。
转换字符
可选操作符
可选标识符、标志、字段宽度、精度和子类型操作符进一步定义了输出文本的格式。
The optional identifier, flags, field width, precision, and subtype operators further define the format of the output text.标识符 Identifier
- 处理函数输入参数的顺序。使用语法n$,其中n表示函数调用中其他输入参数的位置。
- Example: ('%3\(s %2\)s %1\(s %2\)s','A','B','C') prints input arguments 'A', 'B', 'C' as follows: C B A B.
Note: 如果输入参数是数组,则不能使用标识符从该输入参数指定特定的数组元素。
标志 Flags
区域宽度 Field Width
- 要打印的最小字符数。字段宽度操作符可以是一个数字,或者一个星号( * )来引用输入参数。
- Example: The input arguments ('%12d',intmax) are equivalent to ('% * d', 12, intmax).
函数在值之前用空格填充字段宽度,除非由标记另行指定。
精度 Precision
特殊文本即转义字符
formatSpec还可以在百分号前、%或转换字符后包含附加文本
注意
- 数值转换只打印复数的实数部分。
- 如果指定不适合数据的转换,例如数值的字符转换,MATLAB将覆盖指定的转换,并使用%e。
示例:'%s'将pi转换为3.141593e+00。 - 如果将字符转换(%c或%s)应用于整数值,MATLAB将与有效字符代码对应的值转换为字符。
示例: ' %s' converts [65 66 67] to ABC. - 提示num2str不接受formatSpec输入参数中的位置标识符。例如,num2str([14 15],'%2\(X %1\)o])会报错
- 位置标识符指定格式化操作符处理函数输入参数的顺序,而不是输入数组的元素。当您调用num2str时,只有一个输入参数需要转换数字。
算法num2str从字符串中删除任何前导空格,即使formatSpec包含空格字符标志。例如,num2str(42.67,'% 10.2f')返回一个1×5的字符数组'42.67'。