一起來學演化計算-matlab基本函數strcmp num2str 字符串格式
覺得有用的話,歡迎一起討論相互學習~
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'。