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

ОСНОВЫ РАБОТЫ В СИСТЕМЕ MATLAB

Цель - изучение рабочей среды, методики работы из командной строки

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

изучение возможностей встроенного редактора и методики использования М-

файлов.

1 МЕТОДИКА ВЫЧИСЛЕНИЙ В РАБОЧЕЙ СРЕДЕ MATLAB

1.1 Рабочая среда MATLAB

При запуске MATLAB на экране открывается рабочая среда, основными элементами которой являются:

Меню;

Панель инструментов с кнопками и раскрывающимся списком;

Окна с вкладками Workspace и Current Directory для просмотра переменных и установки текущего каталога;

Окно Command Windows, служащее для ввода команд и вывода

результата;

Окно Command History, предназначенное для просмотра и повтор-

ного выполнения ранее введенных команд;

Строка состояния с кнопкой Start, по нажатию которой открывается меню для доступа ко всем основным средствам MATLAB.

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

1.2 Арифметические вычисления и переменные

Для ввода команд служит окно Command Windows, в котором после символа приглашения >> необходимо набрать текст команды. Команда вы-

1

Основы работы в системе MATLAB

полняется, а выражение вычисляется по нажатию на клавишу Enter. Например,

если в командной строке набрать 1 + 2 и нажать Enter, то в командном окне отобразятся следующие выражения:

>>1 + 2 ans =

3

>>|

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

лений, MATLAB помещает его в переменную с именем ans, после чего информация о переменной ans появляется в окне Workspace.

Если требуется выполнить вычисления (1+2)/4.5 c использованием предыдущего результата, в командной строке необходимо набрать следующее:

>>ans/4.5 ans =

0.6667

>>|

Информация об использованных переменных представлена в окне Workspace в следующих полях:

Name – имя переменной;

Value – значение переменной;

Size – размерность массива;

Bytes – объем занимаемой памяти;

Class – тип переменной (по умолчанию все числовые переменные

представляются с двойной точностью - double array).

Следует отметить, что содержимое столбца Size наглядно демонстри-

рует основной принцип работы MATLAB, состоящий в том, что в MATLAB все данные представлены в виде массивов (в указанном выше примере переменная ans является двумерным массивом размера один на один).

Любой из перечисленных выше столбцов можно скрыть или отобразить с помощью контекстного меню, которое вызывается по правой кнопке мыши.

2

Основы работы в системе MATLAB

По умолчанию все переменные в списке расположены в алфавитном по-

рядке. Щелчок мышью по заголовку столбца меняет порядок на обратный.

Аналогично можно упорядочивать переменные по размеру занимаемой памяти и типу.

Двойной щелчок по строке с переменной в окне Workspace (или нажатие на кнопку Open панели инструментов окна Workspace) приводит к отображению ее содержимого в отдельном окне Array Editor, в котором можно из-

менять значение элементов массива.

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

Для освобождения из памяти всех переменных используется команда clear без аргументов. Для удаления из памяти определенного перечня перемен-

ных необходимо указать их в аргументах данной функции. Например:

>>clear a1 a3

>>who

Your variables are: a2

Узнать о факте занятости переменной можно функцией exist, указав имя переменной в апострофах во входном аргументе:

>> exist('d7') ans =

0

Если ответ – ноль, то имя этой переменной не конфликтует с зарезерви-

рованными словами MATLAB. Если возвращаемое значение равно единице -

такая переменная уже определена в рабочей среде.

Вид, в котором выводится результат вычислений, зависит от формата,

установленного в MATLAB. Формат вывода устанавливается в опциях диалогового окна Preferences, вызываемого через меню Files/Preferences. Задавать формат вывода можно непосредственно из командной строки при помощи ко-

3

Основы работы в системе MATLAB

манды format. Например, для установки длинного с плавающей точкой форма-

та выводов результатов вычислений следует в командной строке ввести коман-

ду format long e:

>>format long e

>>1.25/3.11

ans = 4.019292604501608e-001

Получить информацию о форматах можно с помощью команды:

>> help format.

1.3 Использование элементарных функций Для вычисления математического выражения следует набрать его в со-

ответствии с правилами MATLAB. Например, необходимо вычислить значение

 

e 2.5

ln11.3 0.3

 

 

sin 2.45 cos 3.78

 

 

выражения

tg3.3

 

. В командной строке

 

 

 

 

 

 

 

 

 

 

 

 

это выражение выглядит следующим образом:

>> exp(-2.5) * log(11.3) ^ 0.3 - sqrt((sin(2.45 * pi) + ...

cos(3.78 * pi)) / tan(3.3))

При записи длинного выражения для переноса части его на другую строчку используется троеточие (после предварительного пробела).

По нажатию клавиши Enter ответ выводится в командное окно:

ans = -3.2105

В приведенном выражении использованы следующие встроенные функ-

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

Приоритет выполнения арифметических операций в порядке убывания следующий: возведение в степень, умножение и деление, сложение и вычита-

ние. Для изменения этого порядка следования необходимо использовать круг-

лые скобки.

4

Основы работы в системе MATLAB

Поскольку MATLAB запоминает все вводимые команды, то их можно повторно занести в командную строку без набора, а с использованием служеб-

ных клавиш , .

При вычислениях возможны исключительные ситуации. Деление поло-

жительного числа на ноль формирует бесконечность Inf, а деление отрицатель-

ного числа на ноль – минус бесконечность –Inf. При делении нуля на ноль по-

лучается NaN (не число). При вычислении, например, 3 MATLAB перехо-

дит в область комплексных чисел:

>> sqrt(-3.0)

ans = 0 + 1.7321i

При наборе комплексных чисел в командной строке можно использо-

вать i либо j, а сами числа при умножении, делении и возведении в степень необходимо заключать в скобки:

>> (2.1 + 3.2i)*2 + (4.2 + 1.7i)^2 ans = 18.9500 + 20.6800i

иначе умножаться и возводиться в степень будет только мнимая часть.

Для вычисления комплексно-сопряженного числа применяется апо-

строф, который следует набирать сразу за числом без пробела:

>> 2 – 3i'

ans = 2.0000 + 3.0000i

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

>> ((3.2 + 1.5i)*2 + 4.2 + 7.9i)' ans = 10.6000 – 10.9000i

MATLAB позволяет использовать комплексные числа в качестве аргу-

ментов встроенных элементарных функций:

>> sin(2 + 3i) ans =

9.1545 – 4.1689i

5

Основы работы в системе MATLAB

Тригонометрические и обратные к ним функции (аргументы должны

быть выражены в радианах):

-sin, cos, tan, cot – синус, косинус, тангенс, котангенс,

-sec, csc – секанс, косеканс,

-asin, acos, atan, acot – арксинус, арккосинус, арктангенс, арккотангенс,

-asec, acsc – арксеканс, арккосеканс.

Кроме тригонометрических, реализованы:

-exp – экспоненциальная функция,

-log – натуральный логарифм,

-log10 – десятичный логарифм,

-log2 – логарифм по основанию 2,

-pow2 – возведение числа 2 в степень,

-sqrt – квадратный корень,

-nextpow2 – степень, в которую надо возвести число 2, чтобы получить ближайшее число.

Функции для работы с комплексными числами:

-abs, angle – модуль и фаза (в радианах) комплексного числа,

-complex – формирование комплексного числа по его действительной и мнимой части, например,

>> complex(2.3, 5.8) ans = 2.3000 + 5.8000i

-conj – возвращает комплексно-сопряженное число,

-imag, real – мнимая и действительная часть комплексного числа.

Округление и остаток от деления:

-fix – округление до ближайшего целого по направлению к нулю,

-floor, ceil – округление до ближайшего целого по направлению к минус бесконечности или плюс бесконечности,

6

Основы работы в системе MATLAB

-round – округление до ближайшего целого,

-roundn – округление с заданной точностью,

-mod – остаток от целочисленного деления (со знаком второго аргумента),

-rem – остаток от целочисленного деления (со знаком первого аргумента),

-sign – знак числа.

Получить информацию о встроенных элементарных функциях и специ-

альных математических можно соответственно по командам:

>> help elfun

и

>> help specfun

1.4Использование переменных

ВMATLAB качестве оператора присваивания используется знак равен-

ства. При этом пользователь может не заботиться о том, какие значения будет принимать переменная (комплексные, вещественные или целые). Для присваи-

вания значения достаточно написать:

>> z = 1.45

По нажатию клавиши Entrer MATLAB выведет значение z :

z =

1.4500

Вывод значения можно подавлять завершением командной строки точ-

кой с запятой:

>> z = 1.45;

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

чаются. Допустимое количество символов в имени переменной составляет 63.

 

 

sin1.3

 

 

 

tg 2.75

 

 

 

 

 

 

 

 

 

 

 

 

 

ln 3.4

th2.75

 

 

 

Например, следующее выражение sin1.3

 

 

 

 

 

 

 

может быть

 

 

 

tg 2.75

 

 

 

 

ln 3.4

 

 

th2.75

 

 

 

вычислено с использованием переменных:

7

Основы работы в системе MATLAB

>>x = sin(1.3*pi) / log(3.4);

>>y = sqrt(tan(2.75) / tanh(2.75));

>>z = (x+y) / (x-y)

Результат выводится на экран:

z =

0.0243 - 0.9997i

а введенные и запомненные переменные сразу появляются в окне Workspace.

Эти переменные можно использовать в других последующих формулах.

Например, если затем необходимо вычислить выражение

sin1.3

 

 

 

 

3 2

 

 

tg 2.75

 

 

 

 

 

 

 

, то достаточно ввести команду

ln 3.4

th2.75

 

 

 

 

 

 

>> (x - y) ^ (3/2) ans =

-0.8139 + 0.3547i

1.5 Сохранение и восстановление рабочей среды Сохранить значения переменных с целью их дальнейшего использова-

ния в следующих сеансах работы с MATLAB можно при помощи опции File/Save Workspace As. При этом появляется диалоговое окно Save to MATFile, в котором следует указать каталог и имя файла. По умолчанию файл пред-

лагается сохранить в текущем каталоге (подкаталог work основного каталога

MATLAB). Сохранять можно как все, так и часть переменных, предварительно выделив "мышью" необходимые.

Переменные в файлах с расширением mat хранятся в двоичном виде.

Просмотр этих файлов в любом текстовом редакторе не дает никакой информа-

ции о переменных и их значениях.

Для восстановления значений переменных следует открыть файл при помощи опции File/Open.

8

Основы работы в системе MATLAB

Переменные среды сохраняются и восстанавливаются также с помощью кнопок Load data file и Save на панели инструментов окна Workspace (для скрытия или отображения панели инструментов окна надо вызвать контекстное меню, щелкнув правой кнопкой на заголовке). При восстановлении переменных после выбора файла для их загрузки возникает диалоговое окно, позволяющее просмотреть значения переменных и отметить флагами переменные подлежа-

щие восстановлению.

Сохранять и восстанавливать переменные можно и из командной строки командами save и load соответственно. Расширение файла можно не указывать. Получить информацию об этих командах можно по help save и help load.

В MATLAB имеется возможность с помощью команды diary записы-

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

>>diary PrimBook.txt

>>a1 = 3;

>>a2 = 2.5;

>>a3 = a1 + a2

>>a3 = 5.5000

>>save var1

>>diary off

создает файл PrimBook.txt и заносит в него следующий текст:

a1 = 3;

a2 = 2.5;

a3 = a1 + a2

a3 = 5.5000 save var1 diary off

Если в ходе выполнения команд произошли ошибки, то сообщения о них также будут зарегистрированы.

9

Основы работы в системе MATLAB

1.6 Считывание и запись данных Исходные данные могут храниться в текстовых файлах. Для их считы-

вания используются команды load . Для сохранения результатов в текстовом файле используется команда save. Данные записываются и считываются по-

строчно. Следующий набор команд

>>A = load('mtr.txt');

>>b = load('rsd.txt');

>>x = A\b;

>>save 's.txt' x -ascii

создает в каталоге

work

файл s.txt, в котором записан результат обработки

данных из файлов

mtr.txt

и rsd.txt. Параметр -ascii означает запись в тек-

стовом формате. Посмотреть содержимое файла можно в любом текстовом ре-

дакторе. Для записи результата в файл с двойной точностью следует использо-

вать команду save 's.txt' x -ascii -double.

Записать данные непосредственно в файл можно также по команде save, например,

>> save 'mr.txt' A -ascii

1.7 Работа с окном Command History

Для вызова ранее введенных команд имеется окно Command History, в

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

Отключить запись команд можно в диалоговом окне, вызываемого по опции File/Preferences.

Если отметить мышью какую-либо команду в окне, то она становится текущей и может быть выполнена по двойному щелчку левой кнопки мыши или по нажатию клавиши Enter. Выделенную команду можно перетащить в окно Command Windows. Лишнюю команду можно удалить из окна.

10

Соседние файлы в папке Компьютерная графика