Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Labs Matlab / Lab1 / index3

.htm
Скачиваний:
50
Добавлен:
01.06.2015
Размер:
19.95 Кб
Скачать

3. Интерфейс MATLAB.

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

Главное окно Запуск системы MATLAB вызывает появление главного окна (Рис. 1).

Рис.1. Расширенный главного окна MATLAB

С помощью команды меню Desktip / Desktop Layout / Command Window Only главное окно MATLAB преобразуется к сокращенному виду (только командное окно) (рис. 2).

Рис.2. Упрощенный вид главного окна MATLAB.

Обратное переключение можно осуществить с помощью команды меню Desktip / Desktop Layout / Default.

 

Командное окно (Окно Command Window) Окно Command Window является для пользователя наиболее важным. Посредством этого окна (рис. 1) вводятся математические выражения, получаются результаты вычислений, а также выдаются сообщения, посылаемые системой.

Математические выражения пишутся в командной строке после знака приглашения ».

Каждая команда в командном окне обрабатывается немедленно после нажатия клавиши ENTER, при этом значения выходных параметров выводятся в то же командное окно, а для рисунков открываются графические окна.

Наберем в строке ввода выражение:

» х=2+3

Для выполнения действия нажмем клавишу <Enter>. Результат следующий:

>> x=2+3

x =

   5

>>

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

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

Кроме того, клавиша "↑" вызывает появление последней команды, повторное нажатие  переводит к предпоследней, и т.д. Стек команд закольцован и в обратной последовательности команды вызываются клавишей "↓" (первая команда  сеанса, вторая и т.д.). Очистить командное окно можно с помощью меню EDIT / Clear Command Window.

Рабочая область (Окно Workspace) В процессе работы используются переменные различных типов. Созданные переменные хранятся в специально отведенной области памяти компьютера. Они не исчезают сами по себе, а только при выходе из программы или с помощью специальных команд. При этом переменные (точнее их значения) можно использовать в любом вводимом нами математическом выражении. Окно Workspace (Рабочая область) предоставляет пользователю список всех переменных, хранящихся в рабочем пространстве (рис. 1). Выбрать можно любую переменную, просмотреть ее содержимое или выполнить какие-либо другие действия. Упомянутые действия выполняются посредством контекстного меню (нужно щелкнуть правой кнопкой мыши по имени переменной в списке).

Очистить рабочую область можно с помощью меню EDIT / Clear Workspsce.

Окно Current Directory (Текущий каталог) Является аналогом известной программы Проводник, но имеет для MATLAB свое особое предназначение (рис. 3).

Рис. 3. Окно Current Directory (Текущий каталог)

Дело в том, что, кроме работы с математическими выражениями из командного окна, пользователь также может работать с файлами (об этом речь пойдет в следующих лабораторных работах). К тому же математические функции, которые мы используем, физически представляют собой файлы, названные по именам функций. В этих файлах записаны программы, реализующие функции. Таким образом, пользователь постоянно использует файлы. Например, указывая встроенную функцию, мы фактически пишем имя файла (без расширения), в котором хранится текст программы. Система выполняет поиск таких файлов в первую очередь в текущем каталоге.

Задание. В Проводнике Windows создайте папку со своей фамилией (латинскими символами, это особенность MATLAB) в месте, указанном преподавателем. Внутри этой папки создайте папку для лабораторной работы № 1, например LAB1. С помощью правой кнопки выбора текущего каталога перейдите в данный каталог. Первоначально он должен быть пустым. В дальнейшем каждый ваш сеанс работы с MATLAB должен начинаться с выбора вашего текущего каталога. Окно истории команд (Command History) Все команды, которые набираются в командной строке Command Window (Окно команд), автоматически образуют список, который и выводится в окне Command History (История команд) (Рис. 1). Чем полезен этот список? Если появилась необходимость повторить ранее выполненную команду, ее можно отыскать в списке Command History (История команд) и, дважды щелкнув по ней левой кнопкой мыши, выполнить.

Содержимое данного окна не теряется после выхода из системы и выключения компьютера.

Очистить список команд можно только с помощью меню EDIT / Clear Command History.

Элементы языка программирования MATLAB. Работа с матрицами.

Рис.4.

Сформируем несколько переменных, знакомясь попутно с элементами языка. Выполним команду (элементы строки матрицы при вводе разделяются запятой или пробелом; строки отделяются друг от друга точкой с запятой) формирования матрицы (рис. 4)

>>A=[1 0 0 4; 0 2 1 0; 1 2 0 0]

Завершение командной строки символом ";" в системе MATLAB означало бы подавление вывода результата в командное окно. Наша команда не заканчивается точкой с запятой, поэтому в командном окне появляется ответ в виде

A =

    1    0    0    4

    0    2    1    0

    1    2    0    0

 Размер переменной в формате вектора  из двух компонент (<число строк> <число   столбцов>) возвращает функция size. В данном случае

size(A) = [3  4]

Команда  

A([1,3], 2:4)

формирует новую матрицу из элементов матрицы A, находящихся на пересечении  строк с номерами 1 и 3 и  столбцов с номерами  2, 3, 4, присваивая  результат переменной ans (answer), которая всегда содержит результат вычисления последнего выражения, если он не был присвоен какой-нибудь переменной. В данном случае

ans =

      0     0     4

      2     0     0

Рис.5. Командное окно и браузер рабочей области.

С переменной ans можно оперировать как с любой другой. На рис. 5 матрица ans транспонируется (символ "апостроф"), и результат получает имя B (c подавлением вывода). Затем запрашивается содержимое B командой, состоящей исключительно из идентификатора этой переменной. В одной строке допускается несколько команд, разделенных символами  "," или ";". При этом разделитель ","  означает вывод результата той операции, после которой он поставлен.

 

Сформируем вектор-столбец, совпадающий со вторым столбцом матрицы A

>>a = A(:,2)

a=

    0

    2

    2

Разделитель ":" используется для формирования списков или векторов. Выражение n:m означает список n, n+1, … , m; а выражение n:p:m – список от n до m c шагом p; двоеточие без пределов означает весь промежуток изменения индекса, в том числе двойного. Так команда A(:) развернула бы матрицу A по столбцам в один "длинный" вектор-столбец.

 

Выполним теперь несколько умножений, используя команду disp для вывода результатов. При таком выводе MATLAB не повторяет имя переменной, в остальном же команды A и disp(A) эквивалентны.

 >>С=а*а'; disp(С)

     0     0     0

     0     4     4

     0     4     4

>>d=(а')*а; disp(d)

     8

Произведение матрицы размера [n r] на матрицу размера [r m] есть матрица размера [n m], поэтому здесь C=а*а' – матрица,  а d – скалярный квадрат вектора а. Точка в сочетании со знаком операции означает, что операция выполняется поэлементно. Так ".*" означает поэлементное умножение

 

 g=а.*а; disp(g')

     0     4     4

 

Спросим теперь систему о содержимом рабочей области. Запрос whos заставляет систему дать подробный ответ

Рис.6. Таблица с содержимым рабочей области в командном окне.

 

Таблица на рис. 6 иллюстрирует две важных особенности MATLAB:

MATLAB различает имена, набранные в разных регистрах.

В MATLAB векторы и скалярные переменные трактуются как матрицы размера [1 m], [n 1] и [1 1].

 

Более подробную информацию см. в справочнике.

 

Соседние файлы в папке Lab1