Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Glava_2a70_2014.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
4.6 Mб
Скачать

§ 2.3. Рабочее пространство системы matlab

Значения переменных, вычисленных в течение текущего сеанса работы, сохраняются в специально зарезервированной области оперативной памяти компьютера, называемой рабочим пространством системы MATLAB (MATLAB Workspace).

Для того, чтобы узнать текущее значение любой переменной, размещенной в рабочем пространстве MATLAB достаточно набрать в командной строке имя переменной и нажать клавишу «Enter». Однако еще более удобным является использование окна Workspace, в котором отображаются все переменные, использованные в данном сеансе работы с системой MATLAB. Двойной щелчок левой кнопкой мыши по строке, содержащей имя переменной в этой строке приводит к появлению окна Variables, в котором можно просматривать и менять значения выбранной переменной.

Эффективность работы пакета будет снижаться по мере увеличения объема рабочего пространства. В этой связи при отсутствии дальнейшей необходимости хранения в текущем сеансе работы некоторых переменных, рекомендуется удалить их командой, имеющей следующий синтаксис:

>> clear name1, name2 ...

где name1 и name2 – имена удаляемых переменных.

Для одновременного удаления всех переменных, размещенных в данный момент в рабочем пространстве следует ввести команду

>> clear

Удаленная (стертая в рабочем пространстве) переменная становится неопределенной. Использовать неопределенные переменные нельзя, соответствующие попытки будут сопровождаться сообщениями об ошибке. Неопределенные переменные могут использоваться лишь при выполнении символьных вычислений.

Для отображения имен переменных, размещенных в данный момент в рабочем пространстве следует выполнить команду

>> who

По любой команде MATLAB можно оперативно получить справочную информацию, выполнив команду

>> help имя команды

или стандартным образом обратиться к разделу помощи системы.

Если для решения конкретной задачи встроенных функций MATLAB оказывается недостаточно, пользователь имеет возможность создавать собственные функции, используя для этого внутренний язык MATLAB или языки программирования высокого уровня FORTRAN, C, C++, Java и др.

После завершения сеанса работы с системой MATLAB все ранее вычисленные переменные теряются (если не выполнить специально соответствующую операцию сохранения). Для файлов, в которых MATLAB сохраняет значения переменных из рабочего пространства должно использоваться расширение mat, поэтому такие файлы принято называть «MAT-файлами».

Заметим, что режим работы с MATLAB, в котором пользователь вводит команды в командной строке, задавая математические выражения или обращаясь к функциям MATLAB, называется интерактивный режим или режим командной строки.

§ 2.4. Скаляры и массивы. Индексированные переменные

Исторически, своим названием система MATLAB обязана сокращению от англоязычного словосочетания Matrix Laboratory, что дословно переводится на русский язык как «матричная лаборатория». Таким образом, неслучайно, что основным видом данных, которые используются в системе, являются матрицы. По сути, даже простейшие скалярные переменные MATLAB рассматривает как матрицы размером 1х1 (состоящие из одной строки и одного столбца). Для скалярных переменных, впрочем, такое понимание отнюдь не «жесткое» – так, для единственного элемента массива размерности 1х1 указывать индексы этого элемента не обязательно:

>> a=5

a =

5

Вместе с тем, можно обратиться к единственному элементу массива одним или даже двумя индексами, задавая их в круглых скобках:

>> a(1)

ans =

5

>> a(1,1)

ans =

5

Поясняя приведенные обращения, следует отметить, что вместо обычных (традиционных) индексов, принятых в математике и алгоритмических языках, в компиляторах используются так называемые приведенные индексы, позволяющие определить позицию соответствующего элемента массива в оперативной памяти компьютера. Оперативная память использует линейную индексацию своих ячеек. Таким образом, для одномерного массива приведенный индекс совпадает с обычным. Для двумерного массива A размерности mxn (m – число строк; n – число столбцов) приведенный индекс k элемента A(i,j) зависит от способа распределения элементов в памяти. В системе MATLAB, также как и в языке программирования FORTRAN используется отсчет индексов в массивах от 1 (в отличие, например, от языка программирования C), а сами элементы матрицы располагаются в памяти по столбцам. Итак, каждому элементу A(i,j) в памяти предшествуют (j-1) столбец по m элементов в каждом, т.е. элемент A(i,j) расположен на месте с номером k=(j-1)*m+i. MATLAB, наряду с традиционными индексами в многомерных массивах позволяет также пользоваться и единственным приведенным индексов, что несколько повышает скорость вычислений.

Попытка обратиться к несуществующему элементу массива приведет к выдаче соответствующего сообщения об ошибке:

>> a(2)

Index exceeds matrix dimensions.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]