Преобразование
символов и строк
-
int2str(X)
— округляет элементы массива X до целых чисел и возвращает массив символов,
содержащих символьные представления округленных целых чисел. Аргумент X
может быть скаляром, вектором или матрицей.
Пример:
»
X=magic(3)
X =
8
1 б
3
5 7
4
9 2
Х=Х+0.05
X =
8.0500
1.0500 6.0500
3.0500
5.0500 7.0500
4.0500
9.0500 2.0500
» str=int2str(X)
str =
8
1 б 357 492
-
mat2str(A)
— преобразует матрицу А в единую строку; если элемент матрицы не скаляр,
то он заменяется на [ ], при этом учитываются 15 знаков после десятичной
точки;
-
mat2str(A,n)
— преобразует матрицу А в строку, используя точность до n цифр после десятичной
точки. Функция eval(str) осуществляет обратное преобразование.
Пример:
»
randС state');
» A=rand(4.3)
А =
0.9501
0.8913 0.8214
0.2311
0.7621 0.4447
0.6068
0.4565 0.6154
0.4860
0.0185 0.7919
» str = mat2str(A,2)
str
=
[0.95
0.89 0.82:0.23 0.76 0.44:0.61 0.46 0.62:0.49 0.019 0.79]
-
num2str(A)
— выполняет преобразование массива А в строку символов str с точностью до
четырех десятичных разрядов и экспоненциальным представлением, если требуется.
Обычно используется при выводе графиков совместно с title, xlabel. ylabel
или text;
-
num2str(A,precision)
— выполняет преобразование массива А в строку символов str с максимальной
точностью, определенной аргументом precision. Аргумент precision определяет
число разрядов в выходной строке;
-
num2str(A,format)
— выполняет преобразование массива чисел А, используя заданный формат format.
По умолчанию принимается формат, который использует четыре разряда после
десятичной точки для чисел с фиксированной или плавающей точкой.
Пример:
»
str = num2str(pi.7)
str
=
3.141593
»
randCstate'):
»
A=rand(3,5)
A
=
0.9501
0.4860 0.4565 0.4447 0.9218
0.2311
0.8913 0.0185 0.6154 0.7382
0.6068
0.7621 0.8214 0.7919 0.1763
» str = num2str(A,l)
str =
1
0.5 0.5 0.4 0.9 0.20.9 0.02 0.6 0.7 0.60.8 0.8 0.8 0.2
-
str2double(
'str') — выполняет преобразование численной строки s, которая представлена
в ASCII-символах, в число с двойной точностью. При этом + и -могут быть
только в начале строки.
Пример:
»
х = str2double('5.45+2.67Г)
5.4500 + 2.67001
Обратите особое
внимание на последнюю функцию, поскольку именно она в MATLAB 6 обычно обеспечивает
переход от символьного представления математических выражений к их вычисленным
численным значениям;
-
str2num(s)
— выполняет преобразование численного массива символов — матрицы или строки
s, который представлен в ASCII-символах, в матрицу (массив размерности 2).
Пример:
»
х = str2num('5.45+2.67')
8.1200
Обратите особое
внимание, что при этом можно вводить знаки + и - в любом месте строки. Предыдущая
функция выдала бы NaN. Но фирма MathWorks рекомендует использовать str2num с
осторожностью и по возможности заменять ее на str2double.
Содержание раздела