Материал: lesson1

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1. Начало работы

*******************

Указания к выполнению заданий по дисциплине "Математические модели и методы"

ориентированы на применение системы научных и технических вычислений MATLAB.

На сегодняшний день пользователю сети ПГУПС доступна версия MATLAB-6.

Обращаем Ваше внимание на то, что диагностическая и справочная информация в

дается в этой версии системы на английском языке.

MATLAB (сокращение от MATrix LABoratory матричная лаборатория) – система инженерных и научных расчетов, распространенная в Университетах всего мира. Язык, используемый в системе MATLAB, можно сравнить с языком BASIC по простоте его применения и принципу непосредственного исполнения (интерпретации).

Ориентация на работу с массивами (матрицами) делает MATLAB удобным и естественным инструментом обработки экспериментальных данных. MATLAB включает в себя компилятор языка, обширные математические библиотеки программ и функций на языках C и C++, мощный графический процессор. Будучи ориентированной на работу с реальными данными, система выполняет все вычисления в арифметике с плавающей точкой, и является универсальным языком технических вычислений.

Краткое введение в matlab

Система MATLAB разработана фирмой The MathWorks, Inc. (США, г. Нейтик, шт. Массачусетс) и является интерактивной системой для выполнения инженерных и научных расчетов, которая ориентирована на работу с массивами данных. Система использует математический сопроцессор и допускает возможность обращения к программам, написанным на языках Fortran, C и C++.

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

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

Наиболее известные области применения системы MATLAB:

  • математика и вычисления;

  • разработка алгоритмов;

  • вычислительный эксперимент, имитационное моделирование;

  • анализ данных и визуализация результатов;

  • научная и инженерная графика;

  • разработка приложений, включая графический интерфейс пользователя.

MATLAB – это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, необходимое на программирование. MATLAB – это открытая система: одна из ее наиболее сильных сторон – возможность создания пользовательских расширений. Пользователь сам может написать на языке MATLAB специализированные функции и программы, предназначенные для многократного использования. Эти функции и программы оформляются в виде м-файлов (файлов, имеющих в названии расширение m. Например, my_function1.m) и помещаются в соответствующие библиотеки MATLAB или пользовательские каталоги, после чего к ним можно обращаться по имени (с возможной передачей значений параметров и аргументов) подобно тому, как мы обращаемся к стандартным математическим функциям, таким, например, как sin, log, sqrt и т.д.

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

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

Работа в режиме прямых вычислений

1) Вычисляемое выражение набирается, редактируется (если нужно) в командной строке, ввод завершается нажатием клавиши ENTER.

Средства для редактирования в командной строке: клавиши ← и → - перевод курсора вдоль строки, Home, End – быстрый переход к началу и концу строки, ↑ и ↓ - клавиши перелистывания строк (с их помощью в командной строке можно восстановить для редактирования и выполнения ранее выполнявшиеся операторы), клавиши Delete и Backspace (← в верхней строке клавиатуры) – для удаления символа над курсором и слева от него. Кроме того, в командном окне имеется сверху панель инструментов, позволяющая делать стандартные операции копирования, удаления, вставки из буфера обмена и др.

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

3) Основные системные переменные:

pi – значение числа π

ans – хранит результат последней выполненной операции (в том числе

и если этот результат – массив чисел). К ней можно обращаться

по имени, что бывает удобно при программировании.

inf - символ машинной бесконечности. Положительная величина,

которая больше чем любое представимое в оперативной памяти

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

иметь при составлении алгоритмов.

i- мнимая единица – sqrt(-1). MATLAB выполняет действия в алгебре

комплексных чисел вида z = x+ i*y, где x – вещественная часть,

y – мнимая часть числа.

  1. Знаки основных арифметических операций:

‘+ ‘- сложение, ‘-‘ – вычитание , ‘*’ – умножение, ‘/’ – деление слева направо, ’\’ – деление справа – налево, ‘^’ – возведение в степень.

Знаки операций применимы к векторным и матричным операндам.

Так, результаты операций A/B и B\A могут быть различны. Кроме того, одна из этих операций может быть возможна, в то время как другая – нет. Первая: A/B выполняется как A*inv(B), а вторая: B\A – как inv(B)*A. Вспомним, что умножение матриц не обладает свойством коммутативности. Знак умножения, примененный к матричным операндам, выполняет операцию умножения матриц по правилам матричной алгебры.

  1. Постановка знака ‘;’ в конце вычисляемого выражения не обязательна, его присутствие блокирует вывод на экран компьютера результата выполнения выражения, после которого он поставлен. Установка точки с запятой в конце каждого оператора желательна при написании М-программ, особенно – когда промежуточными результатами являются массивы чисел. (Заметим, правда, что иногда полезно умышленно опустить точку с запятой, если вывод вычисленного значения оператора желателен).

1.1. Запуск системы

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

После запуска на экране появляется три окна, одно из них - командное с при-

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

и система ожидает ввода команд.

1.2. MATLAB как калькулятор

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

в качестве обычного калькулятора.

Использование системы MATLAB как калькулятора носит диалоговый характер,

т.е. пользователь набирает на клавиатуре вычисляемое выражение (арифметиче-

ские операции обозначаются знаками: + - сложение, - - вычитание, * - умно-

жение, / - деление, ^ - возведение в степень), и завершает набор нажатием

клавиши <ENTER> , например:

>> sqrt(2)*(sin(pi/8)+exp(-1.43))

В результате на экране появится выражение

ans =

0.8796

Обращение к встроенной функции системы осуществляется указанием ее

имени и аргументов. Имена элементарных функций и математических постоянных

традиционны: sin, cos, exp, pi и т.д. Исключение составляют tan(тангенс) и

log (натуральный логарифм). Использование с т р о ч н ы х букв в именах

функций обязательно.

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

тель легко может получить в режиме прямых вычислений с помощью функции опе-

ративной подсказки help, например,

>> help tan

TAN Tangent.

TAN(X) is the tangent of the elements of X.

По умолчанию для представления чисел используется format short - корот-

кое представление в фиксированном формате (5 знаков), хотя все вычисления

производятся с двойной точностью. При необходимости формат может быть изме-

нен пользователем. Например, последовательность команд

>> format long

>> sqrt(2)*(sin(pi/8)+exp(-1.43))

даст результат

ans =

0.87963002358020

Вводимое выражение можно редактировать с помощью строчного редактора,

используя обычным образом клавиши управления курсором (стрелки, Home, End),

клавишу Del для удаления символа под курсором, Back Space для удаления

слева от курсора и клавишу Esc или комбинацию клавиш Ctrl+[ для удаления

всей строки.

Для переноса части выражения на следующую строку предназначен знак мно-

готочия (две и более точек), например,

>> 0.55*(tan(3*pi/28)+asin(0.9571))*..

(log(13/(2.2753-1.0419))

Кроме того, в системе предусмотрен кольцевой буфер для хранения команд:

клавиша "стрелка вверх" выводит на экран предыдущую команду, клавиша "стрелка

вниз" - последующую, для повторения одной из введенных ранее команд достаточно

набрать один или несколько начальных символов и нажать клавишу "стрелка вверх".

Аналогом адресуемых регистров памяти микрокалькулятора в системе MATLAB

являются п е р е м е н н ы е , вводимые с помощью операции присваивания

(знак равенства):

ИМЯ ПЕРЕМЕННОЙ = ВЫРАЖЕНИЕ [;]

Имя переменной не должно совпадать с именами функций и служебными слова-

ми системы. Длина имени не ограничивается, но запоминаются и идентифицируют-

ся только первые 31 символ.

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

переменных следующим образом:

>> s=0.55*(tan(3*pi/28)+asin(0.9571));

>> t=log(13/(2.2753-1.0419));

>> s*t

ans =

2.10718834547014

Обратите внимание на роль знака ";"(точка с запятой) в системе MATLAB :

если ним завершается вводимое выражение, он блокирует вывод на экран резу-

льтата вычислений.

1.3. Сохранение результатов вычислений и завершение сеанса работы

Если возникает необходимость сохранить результаты расчетов по окончании

сеанса прямых вычислений это можно сделать командой save.Чтобы начать рабо-

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

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

чения с помощью команды load .

Выход из системы MATLAB осуществляется командой quit, либо exit, либо

просто закрытием командного окна.

<ENTER>

2. Действия с матрицами

**************************

Система MATLAB матрично ориентирована. Это означает, что все действия си-

стема MATLAB выполняет только с одним типом объектов - прямоугольными матрицами.

Элементами матриц могут быть целые, вещественные и комплексные числа и текстовые

переменные. Скалярным значениям соответствует матрицы размера 1х1 , а векторам -

матрицы с одним столбцом или строкой.

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

ность. Ввод матриц осуществляется с помощью следующих операторов:

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

A =

1 2

3 4

5 0

>> B=[ 7 8 -1 0.5;9 0.1 2 3.3]

B =

7.0000 8.0000 -1.0000 0.5000

9.0000 0.1000 2.0000 3.3000

2.1. Действия над векторами.

Источник: https://studfile.net/preview/16497280/