Преобразование символов и строк
- int2str(X) – округляет элементы массива X до целых чисел и возвращает массив символов, содержащих символьные представления округленных целых чисел. Аргумент X может быть скаляром, вектором или матрицей.
Пример:
>> X=magic(3) X =8 1 63 5 74 9 2X=X+0.05X =8.0500 1.0500 6.05003.0500 5.0500 7.05004.0500 9.0500 2.0500>> str=int2str(X) str =8 1 6 357 492- mat2str(A) – преобразует матрицу А в единую строку; если элемент матрицы не скаляр, то он заменяется на [ ], при этом учитываются 15 знаков после десятичной точки;
- mat2str(A,n) – преобразует матрицу А в строку, используя точность до n цифр после десятичной точки. Функция eval(str) осуществляет обратное преобразование.
Пример:
>> rand('state'); >> A=rand(4.3) A =0.9501 0.8913 0.82140.2311 0.7621 0.44470.6068 0.4565 0.61540.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>> rand(state): >> A=rand(3.5) A =0.9501 0.4860 0.4565 0.4447 0.92180.2311 0.8913 0.0185 0.6154 0.73820.6068 0.7621 0.8214 0.7919 0.1763>> str = num2str(A,1) 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-символах, в число с двойной точностью. При этом + и – могут быть только в начале строки.
Пример:
>> x = str2double('5.45+2.67') 5.4500 + 2.67001Обратите особое внимание на последнюю функцию, поскольку именно она в MATLAB 6 обычно обеспечивает переход от символьного представления математических выражений к их вычисленным численным значениям;
- str2num(s) – выполняет преобразование численного массива символов – матрицы или строки s, который представлен в ASCII-символах, в матрицу (массив размерности 2).
Пример:
>> x = str2num('5.45+2.67') 8.1200Обратите особое внимание, что при этом можно вводить знаки + и – в любом месте строки. Предыдущая функция выдала бы NaN. Но фирма MathWorks рекомендует использовать str2num с осторожностью и по возможности заменять ее на str2double.
