И другие программы этой серии
Иными словами, это не указатель на массив, а сам массив. Для преобразования массива символов в массив ячеек применяется команда cellstr, а обратная процедура реализуется командой char. Если потребуется создать текст из нескольких строк, то обычный приём отделения строк точкой с запятой может не сработать, поскольку все строки должны быть одной длины. В таких случаях можно подготовить массив ячеек:
>> C={\'One\';\'Three\';\'Seven\'}
C =
\'One\'
\'Three\'
\'Seven\'
и затем преобразовать его при помощи команды char:
>> S=char(C)
S =
One
Three
Seven
Для получения строк одной длины MATLAB добавляет нужное число пробелов, что легко увидеть, затребовав данные о размерностях массива S:
>> size(S)
ans =
3 5
Структуры
Структурами MATLAB (тип struct) являются многомерные массивы. Доступ к ним осуществляется путём указания индексов-имён. Например, можно создать скалярную структуру из двух полей:
>> S.name=\'трап\'; S.order=2
S =
name: \'трап\'
order: 2
Расширение структуры производится по тому же правилу, что и добавление строк и столбцов в массив:
>> S(2).name=\'симп\'; S(2).order=4;
Для пополнения структуры можно также использовать специальную команду struct. Организуем третий элемент структуры S, присвоив полю name значение «прям», а полю order - значение 2.
>> S(3)=struct(\'name\',\'прям\',\'order\',2)
S =
1x3 struct array with fields:
name
order
Чтобы вывести содержимое отдельных полей структуры, нужно использовать фигурные либо квадратные скобки в зависимости от того, символьные или числовые данные связаны с данным полем:
>> {S.name}
ans =
\'трап\' \'симп\' \'прям\'
>> [S.order]
ans =
2 4 2
Преобразование данных в массив символов осуществляется по команде char:
>> char(S.name)
ans =
трап
симп
прям
Краткий обзор встроенных средств решения типовых задач алгебры и анализа
Решение систем линейных уравнений
В системе MATLAB для решения систем линейных уравнений предусмотрены знаки операций - это знаки / и \\.
Рассмотрим систему линейных уравнений вида Ay = b,
где А - заданная квадратная матрица N х N, a b - заданный вектор-столбец длины N.