Главная страница

Тема-3-5. Основы работы с математическими пакетами (MathCad)


Скачать 3.25 Mb.
НазваниеОсновы работы с математическими пакетами (MathCad)
Дата28.09.2022
Размер3.25 Mb.
Формат файлаpdf
Имя файлаТема-3-5.pdf
ТипДокументы
#702801
страница8 из 17
1   ...   4   5   6   7   8   9   10   11   ...   17
Тема 3.5. Основы работы с математическими пакетами
Страница 319
Пример 3.5.3-46
>>K=[3 2; 1 4];
>> S=sqrtm(K)
S =
1.6882 0.5479
0.2740 1.9621
>>S*S
ans =
3.0000 2.0000
1.0000 4.0000
>>
Матричная экспонента вычисляется с использованием expm(). Специальная функция
funm() служит для вычисления произвольной матричной функции.
Все функции обработки данных могут быть применены и к двумерным массивам.
Основное отличие от обработки векторных данных состоит в том, что эти функции работают с двумерными массивами по столбцам, например, функция sum() суммирует элементы каждого из столбцов и возвращает вектор-строку, длина, которой равна числу столбцов исходной матрицы:
Пример 3.5.3-47
>>M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
>>s=sum(M)
s = 12 15 18
Если в качестве второго входного аргумента sum() указать 2, то суммирование произойдет по строкам. Для вычисления суммы всех элементов матрицы требуется дважды применить sum():
Пример 3.5.3-48
>>s=sum(sum(M))
s = 45
>>
Очень удобной возможностью MatLab является конструирование матрицы из матриц меньших размеров. Пусть заданы матрицы:
9
8
0 1 0
1 2
2
3
5
M1
M2
M3
7
5
M4
1 0 0
3 4
1
5
6
1
2
0 0 1




,
,
,








<
<
< ,
,
<








,
,
,












Требуется составить из M1, M2, M3и M4 блочную матрицу M
M1 M2
M
M3 M4


< 



Можно считать, что M имеет размеры два на два, а каждый элемент является,
соответственно, матрицей M1, M2, M3 или M4. Следовательно, для получения в рабочей среде MatLab матрицы M требуется использовать оператор:

Тема 3.5. Основы работы с математическими пакетами
Страница 320
Пример 3.5.3-49
>>M=[M1 M2; M3 M4];
>>
После ввода или формирования элементов векторов и матриц могут возникнуть ошибки. Для контроля и исправления отдельных элементов векторов и матриц можно воспользоваться окном редактора данных Array Editor.
Окно Array Editor (окно редактора массива данных) состоит из панели инструментов и области просмотра значений переменных. В случае открепленного от рабочего стола окна редактирования данных в окне присутствует главное меню, которое совпадает с главным меню рабочего стола, и строка состояния (рис. 3.5.3-4). В окне редактора данных можно отображать несколько переменных. Переключение между переменными реализуется Array Editor. На рис. 3.5.3-4 в окне редактирования данных находится переменная d.
Рис. 3.5.4-4. Окно редактора данных
Панель инструментов окна редактирования данных используется для записи данных
(Save), для перемещения (Cut) и копирования (Сору) в буфер обмена выделенных значений,
вставки (Paste) значений из буфера и печати (Print).При перемещении выделенных значений в буфер обмена на их месте будут записаны нули. Количество и размерность числовых значений при вставке из буфера обмена должны совпадать с областью, выделенной для вставки.
3.5.3.1.5. Окна Workspace и Окно Command History
Как было сказано ранее, основное меню является контекстно-зависимым. Поэтому при активном окне Workspace элементы основного меню (рис. 3.5.3-5) будут отличаться от элементов при активном окне рабочей области.
Как видно из рис. 3.5.3-5 здесь появились дополнительные элементы:
View
- содержит команды главного меню для отображения в окне Workspace различной информации и ее сортировки;
Graphics
- содержит команды главного меню для работы с графическим окном.

Тема 3.5. Основы работы с математическими пакетами
Страница 321
Рис. 3.5.3-5. Основное окно системы MatLab при активном окне Workspace
Команды элементов основного меню View и Graphics показаны на рис. 3.5.4-6.
Рис. 3.5.3-6. Команды элементов главного меню системы MatLab при активном окне
Workspace
Окно Workspace (рис. 3.5.3-6), предназначено для быстрого просмотра атрибутов переменных, располагающихся в рабочей области. С помощью окна Workspace можно увидеть имя переменной (Name), значение (Value), ее размер (Size), число байтов (Bytes),
занимаемых переменной в памяти, и ее класс (Class). Для идентификации класса переменной слева от имени используется соответствующая иконка.
Окно
Workspace можно отобразить на экране либо с помощью соответствующей команды меню Desktop, либо с помощью задания команды
Workspace в командном окне. С помощью элементов основного меню View можно изменять внешний вид окна Workspace (скрывать или показывать поля Size, Value,
Bytes и Class), а также сортировать переменные по имени, размерности, количеству байт

Тема 3.5. Основы работы с математическими пакетами
Страница 322
и классу. Более быстрый способ сортировки переменных по атрибутам реализуется щелчком левой кнопки мыши на имени соответствующего атрибута.
Строка инструментов окна Workspace позволяет выполнять следующие команды:
создание новой переменной (New variable); открытие редактора данных с целью просмотра или редактирования значений выделенной переменной (Open Selection); загрузка данных из файла в рабочую область (Load Data File); сохранение рабочей области в файле (Save);
печать содержимого рабочей области (Print); удалять выделенную переменную (Delete);
построение различных типов графиков (plot(d)); переключение с помощью списка Stack
между основной рабочей областью (Base) и рабочей областью функций во время их отладки
(Stack).
Просматривать содержимое рабочей области, загружать и удалять данные можно не только с помощью средств окна Workspace, но также с помощью Command Window.
Для просмотра имен переменных, находящихся в рабочей области, необходимо в командную строку ввести команду who. Результат задания команды who соответствует внешнему виду окна Workspace при отключенных полях Size, Bytes и Class. Полную информацию о содержании рабочей области можно получить с помощью команды: whos. В
результате информация, выведенная в командное окно, будет соответствовать представленной в окне просмотра рабочей области при всех включенных полях, с тем исключением, что в командное окно будет выведено общее количество переменных и общий объем занимаемой ими памяти. Для удаления переменной из рабочей области необходимо ввести в командную строку команду
Пример 3.5.3-50
>>clear имя_переменной
>>
Очистка рабочей области осуществляется с помощью команды clear без параметров.
Загрузка всех данных из файла реализуется командой load имя_файла, а выборочная загрузка - командой load имя_файла имя__переменной.
Для сохранения рабочей области на диске необходимо ввести команду
save имя_файла.
Данные будут сохранены в файле с расширением .mat. Выборочное сохранение переменных из рабочей области обеспечивается командой
save имя_файла имя_переменной.
Редактор данных, изображенный на рис 3.5.3-4, предназначен для просмотра и редактирования значений переменных. Под редактированием переменных подразумевается не только изменение значений элементов массива, но также и изменение размера массива.
Редактор данных вызывается двойным щелчком на имени переменной в окне просмотра рабочей области или заданием в командном окне команды
openvar (' имя_переменной').
Окно истории команд, показанное на рис. 3.5.3-1 служит для просмотра команд,
заданных ранее в командной строке Command Window. В окне истории команд можно также просмотреть дату и время начала сеанса работы с системой MatLab. Сеанс работы с системой MatLab начинается после ее загрузки в память и вывода на экран ее рабочего стола.
Завершение сеанса работы сопровождается закрытием основного окна системы MatLab.
С помощью контекстного меню окна истории команд, изображенного на рис. 3.5.3-7
можно выполнять следующие действия: вырезать (Cut) и копировать (Сору) выделенные строки в буфер обмена; повторно выполнять команду или серию выделенных команд (Evaluate
Selection); создавать новый m-файл (Create M-File) и Shortcut путем копирования выделенных строк; а также удалять выделенные строки (Delete Selection); удалять все строки из окна истории

Тема 3.5. Основы работы с математическими пакетами
Страница 323
команд до выделенной строки (Delete to Selection) и полностью очищать окно истории команд
(Delete Entire History).
Рис. 3.5.3-7. Контекстное меню окна истории команд
Изменять параметры работы окна истории команд можно с помощью диалогового окна
Preferences, представленного на рис. 3.5.3-3, при активном инструментальном средстве
Command History. Диалоговое окно вызывается из меню File командой Preferences... В
окне присутствуют две группы опций: Settings (Настройки) и Saving (Сохранение). В
первой группе опция включается установкой флажка напротив ее имени. Во второй группе опции переключаются при щелчке на соответствующем имени.
В группе Settings можно включать или выключать следующие опции: Save exit/quit
command – сохранять в истории команду exit/quit (при задании одной из этих команд система MatLab завершает работу); Save consecutive duplicate commands – сохранять одинаковые команды, заданные в командном окне друг за другом; Save commands
entered at an input prompt – сохранять команды, введенные в командную строку в ответ на команду input.
Пример 3.5.4-51
>> n=input (' Введите номер варианта')};
Allow Drag and Drop editing
>>
В группе Saving можно переключаться между следующими опциями: Save history
file on quit – сохранять файл истории при выходе (история команд сохраняется в файле
history.m); Save after n commands сохранять файл истории после ввода каждой n
команды; Don't save history file – не сохранять файл истории команд (несмотря на включенную опцию, в течение сеанса работы в окне истории команд сохраняются все команды,
которые будут удалены при выходе).
Окно Command History хранит все команды, набираемые пользователем. В отличие от содержимого Command Window сюда не попадают сообщения системы и результаты вычислений.
3.5.3.2. Построение графиков и визуализация результатов
вычислений
3.5.3.2.1. Построение графиков функций одной переменной
Система MatLab может создавать как плоские графики, так и трехмерные сетчатые поверхности, а также движущиеся графики, или анимацию.

Тема 3.5. Основы работы с математическими пакетами
Страница 324
В научных и технических задачах основными и наиболее часто употребительными являются графики, которые представляют собой кривые, описывающие те или иные численные данные. MatLab располагает набором команд высокого уровня, которые используются для построения таких кривых и управления ими. Это такие команды, как plot,
title, axis, text, hist, contour и ряд других. Кроме того, строить графики, управлять ими и редактировать их можно с помощью инструментальных панелей графических окон. Можно также использовать комбинацию обоих подходов. Например, можно использовать команды для создания графиков, а затем модифицировать их.
Для того чтобы построить график функции y=f(x), достаточно тем или иным способом сформировать два вектора одинаковой размерности - вектор значений аргументов
x и вектор соответствующих значений функции у, а затем выполнить команду plot. Команда
plot открывает графическое окно и отображает в нем зависимость y(x) в линейных осях, при условии что x и y являются векторами одинаковой длины.
Рассмотрим пример построения графика синуса на интервале от -4 до 4.
Пример 3.5.3-52
>>x = -4:.01:4;
>>y = sin(x);
>>plot(x,y);
>>
В результате выполнения команд открывается графическое окно, изображенное на рис. 3.5.3-8.
В вышеописанном примере вектор x является набором равноотстоящих точек с шагом 0.01, а y - вектор со значениями функции синуса в этих точках. Для отображения графика система MatLab открывает отдельное окно с именем Figure 1. Переход между окнами, то есть возврат в окно MatLab или переход от одного графического окна к другому графическому окну осуществляется в соответствии с правилами среды: с помощью команд основного меню; комбинации > или с помощью мыши.
Рис. 3.5.3-8. Графическое окно с графиком функции y=sin(x)
В вышеописанном примере вектор x является набором равноотстоящих точек с шагом 0.01, а y - вектор со значениями функции синуса в этих точках. Для отображения графика система MatLab открывает отдельное окно с именем Figure 1. Переход между окнами, то есть возврат в окно MatLab или переход от одного графического окна к другому

Тема 3.5. Основы работы с математическими пакетами
Страница 325
графическому окну осуществляется в соответствии с правилами среды: с помощью команд основного меню; комбинации > или с помощью мыши.
Рассмотрим еще один пример построения графика y=e
−x2
на интервале [-1.5 ;1.5].
Пример 3.5.3-53
>>
x = - 1.5:.01:1.5;
>> y = exp(-x.ˆ2);
>> plot(x,y)
>>
Рис. 3.5.3-9. График функции y=e
−x2
Необходимо обратить внимание на то, что точка перед знаком возведения в степень
(^) обязательна, поскольку мы хотим, чтобы возведение в степень выполнялось поэлементно.
В системе MatLab можно также построить кривые, заданные параметрически.
Пример
3.5.3
-54
>>
t=0:.001:2*pi;
>> x=cos(3*t);
>> y=sin(2*t);
>> plot(x,y)
>>
Рис. 3.5.3-10. График функции, заданный параметрически

Тема 3.5. Основы работы с математическими пакетами
Страница 326
Аргументами функции plot() могут быть различные комбинации векторов и матриц:
plot(y):
∂ если y - вектор, то будет нарисована кривая y как функция номера элемента в
y;
∂ если y - матрица, то будет сгенерирован набор кривых, каждая из которых представляет собой зависимость столбца матрицы от номера строки.
plot(x,y)
∂ если x и y - вектора одинаковой длины и размерности (оба строки или оба столбцы), то будет нарисована кривая y от x;
∂ если x - вектор, а y - матрица, строки или столбцы y будут нарисованы в зависимости от x; если столбец матрицы y имеет ту же длину, что и вектор x,
то будет построен набор кривых, представляющий зависимость каждого из столбцов от x; если строка матрицы y имеет ту же длину, что и вектор x, то будет построен набор кривых, представляющий зависимость каждой из строк от x; если число строк и столбцов y одинаково, то строятся столбцы от x;
∂ если x -матрица, а y -вектор, то будет построено несколько кривых,
представляющих зависимость y от строк или столбцов матрицы x по правилу,
описанному в предыдущем пункте;
∂ если x и y -матрицы одинаковой размерности, то будет построен набор кривых, представляющих столбцы y от столбцов x.
При вышеописанных способах вызова функции plot() различные кривые на одном и том же графике рисуются разным цветом. Перебор цветов выполняется автоматически, а при использовании соответствующих аргументов у команды plot() эти цвета можно выбирать.
В общем случае, число аргументов у команды plot() не ограничивается двумя, то есть
plot(x1,y1,x2,y2,...), причем правила, описанные выше, относятся к каждой паре аргументов.
С помощью соответствующих команд любой график в графическом окне MatLab
может быть снабжен заголовком, именами осей, и на сам график может быть помещен дополнительный текст с помощью команд вывода текста. На график можно так же поместить сетку. Аргументами всех этих команд является текстовая строка. Например,
команда title('График наилучшего приближения') добавит к вашему графику заголовок.
Команда gtext('Пятно') позволяет с помощью мыши или клавишного курсора разместить на рисунке индикаторный крест, в месте размещения которого и будет помещен текст после нажатия произвольной клавиши. При необходимости сделать подписи осей используются команды Xlabel('ПодписьX'), Ylabel('ПодписьY').
Для изображения нескольких кривых на одном рисунке существуют два способа,
которые иллюстрируются следующими примерами.
Пример 3.5.3-55а
>> x=0:.01:2*pi;
>> y1=sin(x);
>> y2=sin(2*x);
>> y3=sin(4*x);
>> plot(x,y1,x,y2,x,y3)
>>

Тема 3.5. Основы работы с математическими пакетами
Страница 327
Пример 3.5.3-55b
>> x=0:.01:2*pi;
>> Y=[sin(x)’, sin(2*x)’, sin(4*x)’];
>> plot(x,Y)
>>
Эти два примера полностью эквивалентны, а результат изображен на рис. 73.5.3-11.
Отметим, что во втором примере формируется матрица Y, содержащая значения изображаемых функций в виде столбцов.
Рис. 3.5.3-11. Графики функций y1=sin(x); y2=sin(2*x);y3=sin(4*x);
Другим способом такого отображения нескольких функции на одних осях является использование команды hold on, которая замораживает текущий график, так что последующие кривые размещаются на этом же графике. При этом масштаб и разметка осей изменяются, если новая кривая не вписывается в нарисованные оси. Команда hold off
приводит к тому, что любой последующий вызов команды plot создает новый рисунок в этом же окне, то есть предыдущий график стирается.
При выводе графика можно сменить принятый по умолчанию тип точек, с помощью которых рисуется данный график.
Пример 3.5.3-56
>> x=0:.01:2*pi;
>> y1=sin(x);
>> y2=sin(2*x);
>> y3=sin(4*x);
>> plot(x,y1,’--’,x,y2,’:’,x,y3,’+’)
>>
Результат работы программы приведет к тому, что первый график будет нарисован пунктиром, второй - точками, а третий - символами + (рис. 3.5.3-12). В общем случае каждая линия на графике определяется триплетом x,y,s, где x и y - это вектора с координатами функции, а s – строковая переменная, образованная любыми комбинациями из каких- нибудь приведенных ниже столбцов таблицы 3.5.3-8.

1   ...   4   5   6   7   8   9   10   11   ...   17


написать администратору сайта