Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические материалы.doc
Скачиваний:
23
Добавлен:
07.02.2016
Размер:
962.05 Кб
Скачать

Лабораторная работа №1 Изучение основ работы с пакетом для математических и инженерных расчетов «matlab»

Цель работы: ознакомление с командным окном системы «MATLAB».

Методические указания к работе

1. Рабочее пространство системы matlab и ее командное окно

После запуска программы MATLAB на дисплее компьютера появляется ее главное окно, содержащее меню, инструментальную линейку с кнопками и клиентскую часть окна со знаком приглашения >>. Это окно принято называть командным окном системы MATLAB.

Теперь можно вводить с клавиатуры числа, имена переменных и знаки операций, что в совокупности составляет некоторое выражение. Имена переменных должны начинаться с буквы и состоять из букв, цифр и знаков подчеркивания. MATLAB распознает в именах переменных до 31 символа (а остальные игнорирует) и различает регистр символов. Простейшими знаками операций являются всем хорошо известные знаки арифметических операций + и -. Знак = соответствует операции присваивания. Нажатие клавиши Enter заставляет систему MATLAB вычислить выражение и показать результат, как это изображено на рис. 1.1.

В командном окне показываются вводимые с клавиатуры числа, переменные, результаты вычислений. Обычно вычисления повторяются многократно: вводятся с клавиатуры новые числовые данные и новые символьные выражения. В результате в командном окне не хватает свободного места и автоматически производится так называемая вертикальная протяжка (по-английски – scrolling) – все строки сдвигаются на одну позицию вверх, так что самая верхняя строка покидает область видимости, а в самом низу окна появляется свободная строка для ввода новых данных. Очевидно, что эта строка содержит знак приглашения >>.

Рисунок 1.1

Та информация, что покинула видимую часть окна, никуда не исчезает. Ее всегда можно просмотреть снова, если осуществить вертикальную протяжку содержимого командного окна стандартным графическим средством управления – полосой протяжки (по-английски – scrollbar). Для этого нужно щелкнуть левой клавишей мыши на этой полосе или «протащить» с помощью мыши ползунок полосы протяжки в нужном направлении (вверх или вниз) (см. рис. 1.2).

Рисунок 1.2.

Можно также осуществлять протяжку содержимого командного окна системы MATLAB с помощью следующих клавиш клавиатуры: PageUp, PageDown, Ctrl+Home (одновременное нажатие клавиш Ctrl и Home) и Ctrl+End.

Клавиши «Стрелка вверх» и «Стрелка вниз», в любом текстовом редакторе осуществляющие перемещение курсора вверх-вниз и вертикальную протяжку содержимого окна, в системе MATLAB работают по-другому. Эти клавиши позволяют вернуть в строку ввода ранее введенные с клавиатуры команды и другую входную информацию. Вся эта информация запоминается в специальной области памяти, которую называют стеком команд, так как самая последняя входная информация при ее прокрутке клавишей «Стрелка вверх» появится первой. Затем появится предпоследняя команда и т. д. Клавиша «Стрелка вниз» осуществляет прокрутку команд в противоположном направлении.

В итоге можно сказать, что вся видимая информация в окне системы MATLAB располагается в двух принципиально разных зонах: зоне просмотра и зоне редактирования.

В зоне просмотра уже ничего нельзя исправить; хотя в нее и можно поместить курсор, однако реакцией на ввод с клавиатуры будет автоматическое перемещение курсора (то есть точки ввода) в строку ввода, расположенную в зоне редактирования. В зоне просмотра можно выделять (селектировать) с помощью мыши любую информацию и копировать ее в буфер обмена (Clipboard) операционной системы Windows, чтобы потом вставить ее либо в документ текстового редактора (например, Microsoft Word), либо в строку ввода.

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

Рисунок 1.3.

Однако и в этом случае зона редактирования распространяется только на самую последнюю строку (теперь она уже не содержит знака приглашения >>), а в предыдущих физических строках логической строки ввода изменить уже ничего нельзя. Кроме того, суммарная длина логической строки ввода ограничена 256 символами.

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

Командой

clc

можно стереть видимое содержимое командного окна системы MATLAB, однако это не затронет содержимого рабочего пространства. Действительно, если после этого набрать имя ранее вычисленной переменной а, то после нажатия клавиши Enter мы снова увидим ее значение:

>>a

a =

20

По мере разбухания размера рабочего пространства эффективность работы будет снижаться. Такое разбухание вполне вероятно, так как система MATLAB может работать с данными гигантских размеров. Поэтому, когда исчезает необходимость в хранении ряда переменных в текущем сеансе работы, их можно стереть из памяти компьютера командой

Clear имя1 имя2 …

удаляющей из рабочего пространства переменные с именами имя1 и имя2. чтобы удалить сразу все переменные, нужно использовать команду

clear

Если вы хотите проверить, какие переменные остались в рабочем пространстве, то для этого нужно выполнить команду

who

которая выведет список всех переменных, входящих на данный момент в рабочее пространство системы MATLAB (см. рис. 1.4).

Рисунок 1.4.

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

После закрытия сеанса работы с системой MATLAB все ранее вычисленные переменные теряются. Чтобы сохранить в файле на диске компьютера содержимое рабочего пространства системы MATLAB, нужно выполнить команду меню

File | Save Workspace As…

после чего появляется стандартное диалоговое окно операционной системы Windows для выбора каталога на диске и имени файла. Расширение имени файла должно быть mat, поэтому такие файлы принято называть МАТ-файлами.

Вместо рассмотренной команды меню можно непосредственно в командном окне системы MATLAB набрать команду

save путь_к_файлу\имя_МАТ-файла

и нажать клавишу Enter. Результат будет тот же самый.

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

File | Load Workspace…

которая в диалоговом окне Load.mat file потребует указать нужный МАТ-файл.

Выполнив эту команду несколько раз с разными файлами, мы можем соединить в текущем рабочем пространстве системы MATLAB содержимое нескольких предыдущих сеансов работы! Однако если имена переменных из разных сеансов совпадают, то в текущем рабочем пространстве будет представлена лишь переменная из последнего открытого МАТ-файла.

Вместо рассмотренной команды меню можно набрать команду

Load имя_МАТ-файла

непосредственно в командном окне системы MATLAB. Можно также из записанного на диске МАТ-файла считать в рабочее пространство значения отдельных переменных. Для этого нужно предыдущую команду дополнить именами переменных:

Load имя_МАТ-файла имя1, имя2, …

В результате из МАТ-файла будут считаны переменные с именами имя1, имя2 и т. д. Если МАТ-файл указан без полного пути к нему, то он должен находиться в текущем каталоге системы MATLAB, который всегда можно узнать с помощью команды cd, а изменить его можно командой

cd путь_к_новому_каталогу

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

Заканчивая краткий рассказ о командном окне системы MATLAB, отметим следующие особенности ее команд. Под командами пользователя мы понимаем предписания системе MATLAB выполнить некоторое действие, например, показать текущий каталог. Одни команды системы MATLAB могут задаваться разными способами: с помощью меню главного (командного) окна, с помощью кнопок на полосе инструментов и с помощью ввода с клавиатуры ключевых (зарезервированных) слов с последующим нажатием клавиши Enter. Другие команды можно реализовать только с помощью ввода с клавиатуры соответствующих им ключевых слов (например, команда cd).

Часть команд требует дополнительной информации от пользователя; например, команда clear использует имена переменных, подлежащих удалению из текущего рабочего пространства. Эту дополнительную информацию обычно указывают в командной строке через пробел после ключевого слова. Однако есть и еще одна возможность – заключить дополнительные параметры в круглые скобки. Например, ранее рассмотренную команду удаления переменных из рабочего пространства можно записать и в другом виде:

clear ( имя1, имя2 )

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

Мы пока изучили не все команды системы MATLAB. В дальнейшем мы будем изучать их по мере необходимости в соответствии с излагаемым материалом. При этом будут изучены самые основные и часто применяемые на практике команды. По любой команде системы MATLAB можно получить быструю справку, выполнив команду

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

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

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