Similar presentations:
Основы работы в Matlab
1. Основы работы в Matlab
Лекция 22. Обобщенная архитектура ППП
В архитектуре пакета можно выделить ядро пакета.Ядро – это неизменная часть пакета, т.е. системное
обеспечение ППП. Оно изменяется в зависимости от
предметной области – проблемное обеспечение. Ядро
(монитор) пакета развивает возможности операционных
систем ЭВМ для решения конкретных прикладных задач.
Архитектура ППП включает следующие основные
составляющие:
монитор пакета (управляющая программа);
библиотека программных модулей (база данных);
процессор с входного языка;
сервисные средства пакета.
3. Обобщенная архитектура ППП
Монитор пакета — специальная программа, которая поформулировке задачи на входном языке автоматически
организует вызов модулей в нужной последовательности,
обеспечивает обмен информацией между ними и
управляет процессом решения задач. Ввод модели на
входном языке можно осуществлять в произвольном
порядке.
Анализатор обеспечивает трансляцию исходного текста
задания на входном языке пакета во внутренний язык
ЭВМ. Другими словами осуществляется расшифровка
конструкций, сформулированных на входном языке
пакета и извлечение из них информации для организации
работы всех остальных программ пакета.
4. Обобщенная архитектура ППП
Планировщик вычислительного процесса определяетправильную необходимую цепочку, последовательность
обработки модулей для выполнения соответствующих
инструкций.
Загрузчик-исполнитель последовательно загружает и
выполняет все программные модули по вычислительной
схеме планировщика.
5. Обобщенная архитектура ППП
ППП позволяет хранить относительно простые готовыепрограммы (модули) и автоматически собирать из них
сложные программы, подобно тому, как из
унифицированных деталей строятся разнообразные
архитектурные сооружения.
Модуль системы — это программа, реализующая
законченную функцию, ориентированная на его
совместное использование с другими модулями и в
соответствии с этим оформленная.
6. Обобщенная архитектура ППП
Для автоматической сборки модулей иразработки пользовательских моделей пакеты
прикладных программ оснащены так
называемыми пользовательскими интерфейсами
(UI — англ. user interface). Они представляет
собой совокупность средств и методов, при
помощи которых пользователь взаимодействует с
различными, чаще всего сложными, машинами,
устройствами и аппаратурой.
7. Обобщенная архитектура ППП
По отношению к компьютерным программам, подинтерфейсом прикладной программы подразумевается
набор средств, методов, правил и списка инструкций,
точно описывающих заложенный алгоритм
взаимодействия любой системы, управляемой человеком.
Особое и отдельное внимание в интерфейсе пользователя
уделяется его эффективности и удобству использования.
Его основные характеристики – это понятный, удобный.
Для прикладных программных пакетов – это оконный
интерфейс, т. е. способ организации полноэкранного
интерфейса программы, в котором каждая интегральная
часть располагается в окне – собственном субэкранном
пространстве, находящемся в произвольном месте «над»
основным экраном.
8. Основы работы в Matlab
Matlab (MATrix LABoratory)-система длявыполнения инженерных и научных расчетов,
ориентированная на работу с массивами данных,
в первую очередь с матрицами. Она допускает
написание на специальном языке программ,
оформляемых в виде M-файлов, поддерживает
работу в программном и интерактивном режиме
с векторами и матрицами.
9. Основы работы в Matlab
Программы, написанные на MATLAB, бывают двухтипов — функции и скрипты. Функции имеют входные и
выходные аргументы, а также собственное рабочее
пространство для хранения промежуточных результатов
вычислений и переменных. Скрипты же используют
общее рабочее пространство. Как скрипты, так и функции
сохраняются в виде текстовых файлов.
10. Основы работы в Matlab
Позволяет решать системы уравнений,выполнять
численное
интегрирование,
строить графики и пр.
По умолчанию, после запуска пакета Matlab
на экране появляется окно, включающее
следующие важные панели:
11.
12. Интерфейс Matlab
Command Window (Окно комманд)- самая используемаяпанель. В ней набирают команды пользователя, подлежащие
немедленному исполнению. Здесь же выдаются результаты
выполненных комманд.
Workspace (Рабочее пространство) отображает текущий
набор переменных, заведенных пользователем в командном
окне.
Current Directory (Текущий каталог) Пользователь Matlab
постоянно использует файлы. Например, указывая
встроенную функцию, мы фактически пишем имя файла (без
расширения), в котором хранится текст программы. Система
выполняет поиск таких файлов, в первую очередь в текущем
каталоге.
13. Выполнение работы
При дальнейшем выполнении работы необходимо:1. Создать папку со своей фамилией(латинскими
символами, это особенность Matlab) в месте, указанном
преподавателем. Внутри этой папки создать папку для
лабораторной работы № 1, например LAB1. С помощью
правой кнопки текущего каталога перейдите в данный
каталог. Первоначально он должен быть пустым. В
дальнейшем каждый Ваш сеанс работы с Matlab должен
начинаться с выбора вашего текущего каталога.
2. Все приведенные далее примеры и команды необходимо
воспроизводить и содержимое командного окна
копировать в документ Word для дальнейшего
использования в отчете по лабораторной работе.
14. Вычисления в среде Matlab
Наберем в строке ввода выражение:Для выполнения действия нажмем клавишу Enter.
Переменная x появляется в окне Workspace, но не выводится
в Command Window.
15. Вычисления в среде Matlab
Завершение командной строки символом ; в системе Matlabозначает подавление вывода результата в командное окно
(элементарные функции, известные Вам по работе с ручными
калькуляторами, здесь также реализованы ).
Выполните строки:
>> y=sqrt(5^2+12^2);
>> exp(log(1.7))
Каждая переменная должна получить значение прежде, чем вы сможете
использовать ее в дальнейших вычислениях. Так, после выполнения
предыдущих примеров и строки
>>f=x^2+2*x*y+z^2
будет выдано примерно такое сообщение
??? Underfined function or variable z
16. Вычисления в среде Matlab
Заметим, что исправить цифры в написанных вышекомандах у нас не получится. В Matlab нет возможности
редактировать ранее введенной команды простой
установкой курсора в нужную строку. Однако система
«помнит» введенные команды, поэтому достаточно найти
в окне истории похожую команду, мышкой перетащить
ее в командное окно, отредактировать и нажать Enter.
Заметим, что Очистить командное окно можно с
помощью меню EDIT/ CLEAR COMMAND WINDOW,
либо командой clc.
17. Вычисления в среде Matlab
Формирование матрицы>> A=[1 0 0 4; 0 2 1 0; 1 2 0 0]
Элементы строки матрицы при вводе разделяются запятой
или пробелом; строки отделяются друг от друга точкой с
запятой.
В командном окне появится ответ в виде
18. Вычисления в среде Matlab
Размер переменной в формате вектора из двух компонент(<число строк> <число столбцов>) возвращает функция
size. В данном случае size(A) вернет размеры матрицы,
присваивая результат переменной ans (answer), которая
всегда содержит результат вычисления последнего
выражения, если он не был присвоен какой-нибудь
переменной:
19. Вычисления в среде Matlab
Команда A([1,3], 2:4) формирует новую матрицу изэлементов матрицы A, находящихся на пересечении
строк с номерами 1 и 3 и столбцов с номерами 2, 3, 4:
Сформируем столбец, совпадающий со вторым столбцом
матрицы A
20. Вычисления в среде Matlab
Выполним теперь несколько умножений (a’-транспонированнаяматрица)
Точка в сочетании со знаком операции означает, что операция
выполнена поэлементно. “.*” означает поэлементное умножение
21. Вычисления в среде Matlab
Спросим теперь систему о содержимом рабочей области.Запрос whos заставляет систему дать подробный ответ.
Для очистки рабочей области используется функция clear
в разных формах, например:
clear-уничтожение определений всех переменных
пользователя;
clear x-уничтожение определения переменной x.
22. Построение графиков в среде Matlab
Matlab позволяет строить двумерные и трехмерныеграфики функций, заданных в аналитическом виде, в
виде векторов и матриц, дает возможность построения
множества функций на одном графике: позволяет
представлять графики разными цветами, типами точек и
линий и в различных системах координат.
Основными функциями двухмерной графики являются:
plot(x,y), plot(x,y,s), где
x-аргумент функции, задаваемой в виде вектора;
y- функция, представленная в аналитическом виде или в
виде вектора или матрицы;
s- вектор стилей графика; константа, определяющая
цвет линий графика, тип точек и тип линий.
23. Построение графиков в среде Matlab
В таблице приведены некоторые возможные значения s:вид кривой
символы
цвет
- сплошная
.
r красный
-- штриховая
+
g зеленый
: из точек
*
b синий
-. штрих-пунктир
o
w белый
24. Построение графиков в среде Matlab
Рассмотрим пример построения графика функции у=sin x e-x.В окне Command Window задаются команды:
x=-5:0.5:5; % задание промежутка [-5;5] с шагом 0,5
y=sin(x).*exp(-x); % задание функции у
plot(x,y,['r','*','-.']) % выведение графика красного цвета (r), точки
% графика в виде снежинок (*), линии
% штрихпунктирные (-.)
grid on % задание сетки
График функции у=sin x exp(-x) приведен на рис.
25. Вычисления в среде Matlab
26. M-файлы и операторы в Matlab
До сих пор мы в основном использовали системуMatlab в режиме непосредственного счета — в
командном режиме. Однако при решении
серьезных задач возникает необходимость
сохранения используемых последовательностей
вычислений, а также их дальнейшей
модификации. Иными словами, существует
необходимость программирования решения
задач.
27. M-файлы и операторы в Matlab
Программы на языке Matlab сохраняются в видетекстовых m-файлов. При этом могут сохраняться как
целые программы в виде файлов-сценариев, так и
отдельные программные модули — функции.
Файл сценарий называется также Script-файлом или
просто скриптом.
Он имеет весьма простую структуру:
% Основной комментарий, если необходимо.
% Дополнительный комментарий, если необходимо.
Тело программы с любыми допустимыми выражениями.
28. M-файлы и операторы в Matlab
Важными являютсясценариев:
следующие
свойства
файлов-
1. Они не имеют входных и выходных аргументов.
2. Работают с данными из рабочей области.
3. В процессе выполнения не компилируются.
4. Представляют собой последовательность операций,
аналогичную той, что используется в сеансе работы из
командной строки.
29. M-файлы и операторы в Matlab
Файлы-функции (Function M-Files) в MatlabОтличие М-файла функции от сценария состоит в
том, что он является аналогом подпрограммы типа
function в языке Pascal.
Файл-функция имеет входные параметры, список
которых указывается в круглых скобках. Используемые в
файле-функции переменные являются локальными
переменными, изменение значений которых в теле
функции никоим образом не влияет на значения, которые
те же самые переменные могут иметь за пределами
функции.
30. M-файлы и операторы в Matlab
Иными словами, локальные переменные могут иметьте же имена (идентификаторы), что и глобальные
переменные
(хотя
правила
культурного
программирования не рекомендуют смешивать имена
локальных и глобальных переменных). В дальнейшем мы
рассмотрим этот вопрос более подробно, а пока вернемся
к описанию интерфейса компонентов системы Matlab.
31. M-файлы и операторы в Matlab
Структура М-файла функции с одним выходнымпараметром имеет вид:
function var = f _ name (Список параметров)
% Основной комментарий, если необходимо.
% Дополнительный комментарий, если необходимо.
Тело программы с любыми выражениями.
var = выражение
32. M-файлы и операторы в Matlab
М-файл функция обладает следующими свойствами:1. Он начинается с ключевого слова function, после которого
указывается имя переменной var – выходного параметра, имя самой
функции f _ name и список ее входных параметров, отделенных
запятой.
Внимание: Имя М-файла функции должно совпадать с именем
самой функции (f _ name). Matlab автоматически присваивает
данное имя при выполнении команды Save as.
2. Результат выполнения файла-функции присваивается имени
функции, которое может использоваться в математических
выражениях подобно функциям sin(x), log(x) и т.п.
33. M-файлы и операторы в Matlab
Все переменные, используемые в файле-функции, являютсялокальными, т.е. действуют только в пределах тела функции.
4. Последняя конструкция vаг=выражение вводится, если требуется,
чтобы функция возвращала результат вычислений. Вместо имени var
можно использовать любое другое имя.
5. Файл-функция является самостоятельным программным модулем,
который связан с другими модулями и головной программой через
входные и выходные параметры.
6.
При вызове файла-функции он компилируется и затем
исполняется.
7. M-файл функция должен сохраняться в ваш рабочий каталог.