Иллюстрированный самоучитель по MatLab

Преобразование символов и строк

  • int2str(X) – округляет элементы массива X до целых чисел и возвращает массив символов, содержащих символьные представления округленных целых чисел. Аргумент X может быть скаляром, вектором или матрицей.

Пример:

>> X=magic(3)
X =
8 1 6
3 5 7
4 9 2
X=X+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 6 357 492
  • mat2str(A) – преобразует матрицу А в единую строку; если элемент матрицы не скаляр, то он заменяется на [ ], при этом учитываются 15 знаков после десятичной точки;
  • mat2str(A,n) – преобразует матрицу А в строку, используя точность до n цифр после десятичной точки. Функция eval(str) осуществляет обратное преобразование.

Пример:

>> rand('state');
>> A=rand(4.3)
A =
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
>> rand(state):
>> 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,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.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.