Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Рабочая среда MatLab




Рабочая среда MatLab 6.х содержит следующие элементы:

¨ меню;

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

¨ окно с вкладками Launch Pad и Workspace, из которого можно получить простой доступ к различным модулям ToolBox и к содержимому рабочей среды;

¨ окно с вкладками Command History и Current Directory, предназначенное для просмотра и повторного вызова ранее введенных команд, а также для установки текущего каталога;

¨ окно ввода команд;

¨ строку состояния

Рис. 1. Рабочая среда MatLab 6.x

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

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

2. План проведения лабораторной работы

2.1. Простейшие вычисления

Наберите в командной строке 1+2 и нажмите <Enter>. В результате в командном окне MatLab отображается следующее:

>> 1+2

ans =

>>|

Что сделала программа MatLab? Сначала она вычислила сумму 1+2, затем записала результат в специальную переменную ans и вывела ее значение, равное 3, в командное окно. Ниже ответа расположена командная строка с мигающим курсором, обозначающая, что MatLab готова к дальнейшим вычислениям. Можно набирать в командной строке новые выражения и находить их значения.

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

>> ans/4.5

ans =

0.6667

>>|

Предупреждение

Вид, в котором выводится результат вычислений, зависит от формата вывода, установленного в MatLab. Далее объяснено, как задать основные форматы вывода.

2.2. Форматы вывода результата вычислений

Требуемый формат вывода результата определяется пользователем из меню MatLab. Выберите в меню File пункт Preferences. На экране появится диалоговое окно Preferences, изображенное на рис. 2. Для установки формата вывода следует убедиться, что в списке левой панели выбран пункт Command Window (как показано на рис.2). Задание формата производится из раскрывающегося списка Numeric format панели Text display.

Рис. 2. Диалоговое окно Preferences

Разберем пока только наиболее часто используемые форматы. Установите переключатель short в раскрывающемся списке Numeric format. Закройте диалоговое окно, нажав кнопку ОК. Сейчас установлен короткий формат с плавающей точкой short для вывода результатов вычислений, при котором на экране отображаются только четыре цифры после десятичной точки. Наберите в командной строке 100/3 и нажмите <Enter>.

Результат выводится формате short:

>>100/3

ans =

33.3333

Этот формат вывода сохранится для всех последующих вычислений, если только не будет установлен другой формат. Заметьте, что в MatLab возможна ситуация, когда при отображении слишком большого или малого числа результат не укладывается в формат short. Вычислите 10 000/3, результат выводиться в экспоненциальной форме:

>>100000/3

ans=

3.3333е+004

То же самое произойдет и при нахождении 1/3000:

>>1/3000

ans=

3.3333e-004

Однако, первоначальная установка формата сохраняется и при дальнейших вычислениях для небольших чисел вывод результата снова будет происходить в формате short.

В предыдущем примере MatLab вывела результат вычислений в экспоненциальной форме. Запись 3.3333е-004 обозначает 3.3333·10-4 или 0.00033333. Аналогично можно набирать числа в выражениях. Например, проще набрать 10е9 или 1.0е10, чем 1 000 000 000, а результат будет тот же самый. Пробел между цифрами и символом е при вводе не допускается, т. к. это приведет к сообщению об ошибке:

>> 10 е9

??? 10 е9

|

Missing operator, comma, or semi-colon.

Если требуется получить результат вычислений более точно, то в диалоговом окне Preferences следует выбрать в раскрывающемся списке long. Результат будет отображаться в длинном формате с плавающей точкой long с четырнадцатью цифрами после десятичной точки. Форматы short e и long e предназначены для вывода результата в экспоненциальной форме с четырьмя и пятнадцатью цифрами после десятичной точки соответственно. Информацию о форматах можно получить, набрав в командной строке команду help с аргументом format:

>> help format

В командном окне появляется описание каждого из форматов.

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

>> format long e

>> 1.25/3.11

ans =

4.019292604501608e-001

Обратите внимание, что команда help format выводит на экран название форматов прописными буквами. Однако команда, которую надо ввести, состоит из строчных букв. К этой особенности встроенной справки help надо привыкнуть. MatLab различает прописные и строчные буквы. Попытка набора команды прописными буквами приведет к ошибке:

>> FORMAT LONG E

??? FORMAT LONG

Missing operator, comma, or semi-colon.

Для более удобного восприятия результата MatLab выводит результат вычислений через строку после вычисляемого выражения. Однако иногда бывает удобно разместить больше строк на экране, для чего следует в диалоговом окне Preferences выбрать compact из раскрывающегося списка. Добавление пустых строк обеспечивается выбором loose из раскрывающегося списка Numeric display.

Замечание

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

2.3. Использование элементарных функций

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

Введите в командной строке это выражение в соответствии с правилами MatLab и нажмите <Enter>.

>>ехр(-2.5)*1оg(11.3)^0.3-sqrt((sin(2.45*pi)…

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

Ответ выводится в командное окно:

ans =

-3.2105

Замечание

Для ввода длинных формул или команд в командную строку следует поставить три точки (подряд, без пробелов), нажать клавишу <Enter> и продолжить набор формулы на следующей строке. Так можно разместить выражение на нескольких строках. MatLab вычислит все выражение или выполнит команду после нажатия на <Enter> в последней строке (в которой нет трех идущих подряд точек).

При вводе выражения использованы встроенные функции MatLab для вычисления экспоненты, натурального логарифма, квадратного корня и тригонометрических функций. В следующем пункте приведены часто употребляемые встроенные математические функции. Аргументы функций заключаются в круглые скобки, имена функций набираются строчными буквами. Для ввода числа pдостаточно набрать pi в командной строке.

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

¨ возведение в степень^;

¨ умножение и деление *, /;

¨ сложение и вычитание +, -.

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

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

то необязательно снова набирать его в командной строке. Можно воспользоваться тем, что MatLab запоминает все вводимые команды. Для повторного занесения их в командную строку служат клавиши <↓>, <↑>. Вычислите данное выражение, проделав следующие шаги.

1. Нажмите клавишу <↑>, при этом в командной строке появится введенное ранее выражение.

2. Внесите в него необходимые изменения, заменив минус на плюс и квадратный корень на возведение в квадрат (для перемещения по строке с выражением служат клавиши <→>, <←>, <Home>, <End>).

3. Вычислите измененное выражение, нажав <Enter>.

Получается

>>ехр(-2.5)*1оg(11.3)^0.3+((sin(2.45*pi)…

+cos(3.78*pi))/tan(3.3))^2

ans =

121.2446

Если необходимо получить более, точный результат, то следует выполнить команду format long е, затем нажимать клавишу <↑> до тех пор, пока в командной строке не появится требуемое выражение, и вычислить его, нажав <Enter>.

>> format long e

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

+cos(3.78*pi))/tan(3.3))^2

ans =

1.212446016556763e+002

Вывести результат последнего найденного выражения в другом формате можно без повторного вычисления. Следует изменить формат командой short, а затем посмотреть значение переменной ans, набрав ее в командной строке и нажав <Enter>:

>> format short

>> ans

ans =

121.2446

В рабочей среде MatLab 6.x длявызова ранее введенных команд имеется дополнительное удобное средство - окно Command History с историей команд, изображенное на рис. 3. История команд содержит время и дату каждого сеанса работы.Для активизации окна Command History необходимо выбрать вкладку с одноименным названием. Если щелкнуть на какой-либо команде в окне левой кнопкой мыши, то данная команда становится текущей. Для ее выполнения в MatLab надо применить двойной щелчок мыши или выбрать строку с командой при помощи клавиш <↑>, <↓> и нажать клавишу <Enter>. Лишнюю команду можно убрать из окна. Для этого ее надо сделать текущей и удалить при помощи клавиши <Delete>. Можно выделить несколько идущих подряд команд при помощи комбинации клавиш <Shift>+<↑>, <Shift>+<↓> и выполнить их при помощи <Enter> или удалить клавишей <Delete>. Выделение последовательно идущих команд можно производить левой кнопкой мыши с одновременным удерживанием клавиши <Shifl>. Если команды не идут одна за другой, для их выделения следует использовать левую кнопку мыши с удерживанием клавиши <Ctrl>.

При щелчке правой кнопкой мыши по области окна Command History появляется всплывающее меню. Выбор пункта Сору приводит к копированию команды в буфер Windows. При помощи Evaluate Selection можно выполнить отмеченную группу команд. Для удаления текущей команды предназначен пункт Delete Selection, для удаления всех команд до текущей - Delete to Selection, для удаления всех команд - Delete Entire History.

Рис. 3. Окно Command History

При вычислениях возможны некоторые исключительные ситуации, например деление на ноль, которые в большинстве языков программирования приводят к ошибке. При делении положительного числа на ноль в MatLab получается inf (бесконечность), а при делении отрицательного числа на ноль получается -inf (минус бесконечность) и выдается предупреждение:

>> 1/0

Warning: Divide by zero,

ans =

Inf

При делении нуля на ноль получается NaN (не число) и также выдается предупреждение:

>> 0/0

Warning: Divide by zero.

ans =

NaN

При вычислении, например , никакой ошибки или предупреждения не возникает. MatLab автоматически переходит в область комплексных чисел:

>> sqrt(-1.0)

ans =

0 + l.0000i

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

>> (2.1+3.2i)*2 + (4.2+1.7i)^2

ans =

18.9500 + 20.6800i

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

>> 2.1+3.2i*2 + 4.2+1.7i^2

ans =

3.4100 + 6.4000i

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

>> 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

Как узнать, какие встроенные элементарные функции можно использовать и как их вызывать? Наберите в командной строке команду help elfun, при этом в командное окно выводится список всех встроенных элементарных функций с их кратким описанием. В следующем разделе приведены часто используемые функции.

2.4. Встроенные элементарные функции

Встроенные элементарные функции MatLab включают тригонометрические, гиперболические, экспоненциальные и логарифмические функции, а также функции для работы с комплексными числами и для округления различными способами.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...