· 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) осуществляет обратное преобразование.
· num2str(A) — выполняет преобразование массива А в строку символов str с точностью до четырех десятичных разрядов и экспоненциальным представлением, если требуется. Обычно используется при выводе графиков совместно с title, xlabel. ylabel или text;
· num2str(A,precision) — выполняет преобразование массива А в строку символов str с максимальной точностью, определенной аргументом precision. Аргумент precision определяет число разрядов в выходной строке;
· num2str(A,format) — выполняет преобразование массива чисел А, используя заданный формат format. По умолчанию принимается формат, который использует четыре разряда после десятичной точки для чисел с фиксированной или плавающей точкой.
· 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.
Функции преобразования систем счисления
Некоторые строковые функции служат для преобразования систем счисления. Ниже представлен набор этих функций.
· dec2bin(d) — возвращает строку двоичных символов (0 и 1), эквивалентную десятичному числу d. Аргумент d должен быть неотрицательным целым числом, меньшим чем 2 52 ;
· dec2bin(d.n) — возвращает строку двоичных символов, содержащую по меньшей мере n бит.
Пример:
» str = dec2bin(12)
str =
· dec2base(d.n) — возвращает строку символов, представляющих десятичное число d как число в системе счисления с основанием n.
Пример:
» str = dec2base(1234.16)
str =
4D2
· dec2hex(d) — возвращает шестнадцатеричную строку символов, эквивалентную числу d. Аргумент d должен быть неотрицательным целым числом, меньшим чем 2 52 ;
· str = dec2hex(d.n) — возвращает шестнадцатеричную строку, содержащую по меньшей мере n цифр.
Пример:
» str = dec2hex(1234)
str =
4D2
· base2dec(S, В) — преобразует строку символов S, представляющих число в системе счисления по основанию В, в символьное представление десятичного числа.
Пример:
» d = base2dec('4D2',16)
d =
1234;
· hex2dec('hex_value') — возвращает число d, представленное строкой шестнадцатеричных символов hex_value. Если аргумент hex_value является массивоу символов, то каждая строка этого массива интерпретируется как шестнадца-теричное представление числа.
Пример:
» d = hex2dec('4D2')
d =
· hex2num( 'hex_value') — возвращает десятичное число f с удвоенной точностью, эквивалентное шестнадцатеричному числу, находящемуся в строке символов hex_va1ue.