И другие программы этой серии
Во внутреннем представлении символы даны целыми числами. Конвертировать массив символов в числовую матрицу позволяет команда double. Обратная операция совершается по команде char. Печатаемые символы из стандартного набора ASCII представлены числами от 32 до 255. Объединить текстовые строки можно, просто заключив их в квадратные скобки или при помощи команды strcat. Приведем примеры для данных команд. Вначале введем строку:
>> s = \'Привет\'
s =
Привет
Отметим, что для ввода русских букв следует выбрать в меню File/ Preferences/ Command Windows Font шрифт с русской кодировкой. Теперь найдём коды введённых символов:
>> v = double(s)
v =
207 240 232 226 229 242
Объединим две строки:
>> h = [v + \' от MATLAB\']
v =
Привет от MATLAB
Тот же результат получится, если вместо переменной v использовать строковую переменную s. В завершение попробуем применить команду strcat. Для перевода численных данных в строковые переменные имеется ряд команд преобразования. В табл. 1. приведены некоторые команды для этих и обратных операций, а полных список можно получить по команде help strfun.
Таблица 1. Логические операции.
Имя команды
Действие
num2str
Перевод числа в строку
int2str
Перевод целого числа в строку
mat2str
Преобразование матрицы в строку
str2mat
Объединение строк в матрицу
str2num
Преобразование строки в число
strcat
Объединение строк
Приведём пример:
>> z=1.2e3; strcat(\'z=\',num2str(z))
ans =
z=1200
Многомерные массивы
Массивы с числом размерностей более двух считаются многомерными. Такие массивы могут быть считаны из файла или созданы при помощи команд, таких как zeros, ones, rand. Число параметров при обращении к этим командам должно соответствовать размерности вводимого массива. Например, трёхмерный массив 2х4х2 из нулей будет организован по команде
>> S=zeros(2,4,2)
S(:,:,1) =
0 0 0 0
0 0 0 0
S(:,:,2) =
0 0 0 0
0 0 0 0
Обращение к элементам многомерного массива производятся по обычным правилам работы с массивами, так что действуют двоеточия для указания диапазона, а end обозначает максимальное значение данной размерности.