LS-Sb87956
.pdf2.Сформировать первый вектор (при помощи оператора «:»), содержащий последовательность целых чисел с заданными первым числом и шагом.
3.Сформировать второй вектор (при помощи цикла for), содержащий определенную последовательность заданного размера.
4.Заменить заданные строку и столбец матрицы на созданные векторы.
5.Разбить матрицу на две матрицы равного размера и осуществить с ними заданную операцию.
6.Вывести заданную часть полученного массива в командное окно.
Таблица 2.3
Задание |
|
|
|
|
Номер варианта |
|
|
|
|
||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
||
|
|||||||||||
Размер |
128×563 |
345×76 |
89×124 |
261×58 |
126×125 |
92×315 |
241×112 |
262×74 |
145×216 |
34×185 |
|
матрицы |
|||||||||||
|
|
|
|
|
|
|
|
|
|
||
Диапазон |
|
|
|
|
|
|
|
|
|
|
|
случайных |
0÷9 |
−16÷32 |
15÷86 |
−20÷32 |
−50÷0 |
0÷82 |
−43÷56 |
−2÷1 |
−38÷3 |
−1÷10 |
|
чисел |
|
|
|
|
|
|
|
|
|
|
|
1-й вектор |
|
|
|
|
|
|
|
|
|
|
|
(первое чис- |
−15, 5, |
0, 23, |
−45, 13, |
0, −4, |
67, 12, |
94, −5, |
−812, 36, |
25, 14, |
325, −28, |
0, −12, |
|
ло, шаг, раз- |
563 |
345 |
124 |
261 |
126 |
315 |
241 |
262 |
216 |
185 |
|
мер) |
|
|
|
|
|
|
|
|
|
|
|
2-й вектор |
|
|
|
|
|
|
|
|
|
|
|
(последова- |
n3=n1+ |
n3=n1* |
n3=n1− |
n3=n1^ |
n3=n1/ |
n2=n1^ |
n2=n1+ |
n2=n1* |
n2=n1/ |
n2=n1− |
|
тельность, |
+n2, 98 |
*n2, 76 |
−n2, 89 |
^n2, 58 |
/n2, 125 |
^2, 92 |
+2, 112 |
*2, 74 |
/2, 145 |
−2, 34 |
|
размер) |
|
|
|
|
|
|
|
|
|
|
|
Строка |
|
|
|
|
|
|
|
|
|
|
|
и столбец для |
24, 513 |
83, 32 |
78, 99 |
212, 50 |
124, 18 |
90, 226 |
214, 100 |
138, 34 |
42, 201 |
12, 183 |
|
замены |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поэле- |
|
|
|
|
|
Поэле- |
|
|
Операция |
Сложе- |
Вычита- |
ментное |
Сложе- |
Вычита- |
Умно- |
Сложе- |
Вычита- |
ментное |
Умно- |
|
ние |
ние |
умноже- |
ние |
ние |
жение |
ние |
ние |
умноже- |
жение |
||
|
|||||||||||
|
|
|
ние |
|
|
|
|
|
ние |
|
|
|
|
Часть |
Часть |
|
Часть |
|
Часть |
|
Часть |
|
|
|
|
полу- |
полу- |
Побоч- |
полу- |
|
полу- |
Побоч- |
полу- |
Побоч- |
|
|
Главную |
ченной |
ченной |
ченной |
Главную |
ченной |
ченной |
||||
|
ную |
ную |
ную |
||||||||
Вывести |
диаго- |
матрицы |
матрицы |
матрицы |
диаго- |
матрицы |
матрицы |
||||
диаго- |
диаго- |
диаго- |
|||||||||
|
наль |
разме- |
разме- |
разме- |
наль |
разме- |
разме- |
||||
|
наль |
наль |
наль |
||||||||
|
|
ром |
ром |
ром |
|
ром |
ром |
||||
|
|
|
|
|
|
||||||
|
|
16×16 |
2×8 |
|
16×4 |
|
8×8 |
|
3×5 |
|
Результат продемонстрируйте преподавателю. Сохраните созданную программу в виде m-файла.
2.3. Содержание отчета
Отчет должен содержать цель лабораторной работы, краткое описание и синтаксис используемых команд, результаты выполнения всех пунктов программы работы.
11
Лабораторная работа 3 ПОСТРОЕНИЕ И РЕДАКТИРОВАНИЕ ГРАФИКОВ
В MATLAB
Цель работы: получение навыков работы с графическим инструментарием, предоставляемым математическим пакетом MATLAB.
3.1. Основные сведения
Одно из достоинств системы MATLAB – обилие средств графики, начиная с команд построения простых графиков функций одной переменной в декартовой системе координат и кончая комбинированными и презентационными графиками с элементами анимации, а также средствами проектирования графического пользовательского интерфейса GUI. Особое внимание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов.
Основные отличительные черты графики следующие:
−создание графических объектов в отдельных окнах;
−возможность вывода многих окон;
−задание различных координатных систем и осей;
−широкие возможности использования цвета;
−легкость установки графических признаков – атрибутов;
−обилие опций у команд графики;
−возможность получения естественно выглядящих трехмерных фигур и их сочетаний;
−обширный набор команд графики.
3.2. Программа работы
3.2.1.Создание графиков
1.Для создания графиков в MATLAB служит функция plot. Если в качестве аргумента функции задан вектор, то функция строит кусочно-линейный график зависимости элементов вектора от их индексов. Если в качестве аргументов заданы два вектора plot(x,y), то функция строит зависимость y от x.
Постройте график sin от 0 до 2π.
2.Функция plot позволяет построить несколько графиков в одних осях. Это можно сделать двумя способами:
12
а) указать в качестве аргументов функции plot несколько зависимо-
стей, например plot(x1,y1,x2,y2,x3,y3).
б) использовать команду hold on для добавления нового графика в те же оси. Например:
>>plot(x1, y1)
>>hold on
>>plot(x2, y2)
Отключить удержание осей можно командой hold off.
Постройте в одних осях графики sin и cos любым из предложенных способов.
3. В случае построения нескольких графиков в одном окне, но в разных осях, можно использовать функцию subplot (m, n, p), которая разбивает окно изображений на матрицу m на n и выбирает p-й график текущим. Например:
>>subplot(2, 1, 1), plot(x1, y1)
>>subplot(2, 2, 2), plot(x2, y2)
Постройте в одном окне, но в разных осях, графики sin, cos, tan, atan.
3.2.2.Редактирование графиков и осей
1.При построении графиков возможно изменение цвета, стиля линий и маркеров при помощи добавления аргументов для функции plot:
plot(x, y,’свойства_графика’).
Свойства графика – это 1-, 2- или 3-х символьная строка, заключенная в одинарные кавычки и составленная из типов цвета, стиля линий и маркеров:
символы, относящиеся к цвету: ’c’, ’m’, ’y’, ’r’, ’g’, ’b’, ’w’ и ’k’. Они обозначают голубой, малиновый, желтый, красный, зеленый, синий, белый и черный цвета соответственно.
символы, относящиеся к типу линий: ’-’ для сплошной, ’- -’ для разрывной, ’:’ для пунктирной, ’-.’ для штрихпунктирной линий и ’none’ для ее отсутствия.
Наиболее часто встречающиеся маркеры ’+’, ’o’, ’*’ и ’x’.
Постройте в одних осях несколько графиков, используя при этом разные цвета, маркеры и различный тип линий.
2. Для управления осями служит функция axis[xmin xmax ymin ymax], где вектор [xmin xmax ymin ymax], задает пределы осей абсцисс и ординат соответственно. Задайте новые пределы для выведенного графика, используя функ-
13
цию axis. Для включения сетки координат используйте команды grid on, а команду grid off для ее отключения.
3. Команды xlabel, ylabel, zlabel добавляют подписи к соответствующим осям, команда title – заголовок в верхнюю часть окна, а команда text вставляет текст в любое место графика. Создайте подписи к осям и заголовок к созданному графику.
3.2.3.Создание поверхностей и трехмерных графиков
1.Для построения трехмерных графиков (поверхностей) служат функции mesh и surface. При этом mesh создает каскадную поверхность, где цветные линии соединяют только заданные точки, а функциями surface вместе с линиями отображает в цвете и саму поверхность.
Перед применением этих функций необходимо создать матрицы X и Y для задания области определения графика.
Для этого служит функция meshgrid. Например, для построения двумерного графика необходимо:
>>[X, Y] = meshgrid(–3:.125:3);
>>Z = peaks(X, Y); % встроенная функция двух переменных
>>mesh(X, Y, Z);
Постройте двумерную функцию суммы двух синусов при помощи обеих функций.
2. Отображение матрицы также возможно в виде изображения – функция image. Для задания цветовой палитры используется функция colormap. Создайте матрицу произвольного размера и отобразите ее при помощи функции image. Цветовую палитру задайте произвольно.
3.2.4.Задание на самостоятельную работу
Вкачестве самостоятельной работы необходимо согласно нужному варианту (табл. 3.1):
1. Построить поверхность, заданную параметрическим уравнением.
2. Подписать оси.
3. Вывести в тех же осях или в том же окне проекцию на расположенную снизу плоскость при помощи функции contour.
14
|
|
|
|
|
|
|
|
|
|
|
Таблица 3.1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Номер |
|
Параметрическое уравнение поверхности |
|
|
||||||||
варианта |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Эллипсоид: |
|
|
|
|
|||
1 |
|
( |
|
|
( |
( |
|
( |
|
( |
, |
|
|
|
0≤u≤2π; 0≤v≤2π; a,b,c – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Однополостный гиперболоид: |
|
|
|
||||||
2 |
|
( |
|
|
( |
( |
|
( |
|
( |
, |
|
|
|
−1≤u≤1; 0≤v≤2π; a,b,c – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
Поверхность Энеппера: |
|
|
|
||||
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
||||||
|
|
|
Эллиптический параболоид: |
|
|
|
||||||
4 |
|
|
|
|
( |
( |
|
( |
, |
|
||
|
|
|
|
|
|
|
||||||
|
|
0≤u≤2; 0≤v≤2π; a,b – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
||||||
|
|
|
Гиперболический параболоид: |
|
|
|
||||||
5 |
|
|
|
|
( |
( |
|
( |
, |
|
||
|
|
−2≤u≤2; 0≤v≤2π; a,b – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
Действительный конус: |
|
|
|
||||
6 |
|
|
|
|
( |
( |
|
|
, |
|
||
|
|
−2≤u≤2; 0≤v≤2π; a,b,с – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
Эллиптический цилиндр: |
|
|
|
||||
7 |
|
|
|
|
( |
( |
|
, |
|
|
||
|
|
−2≤u≤2; 0≤v≤2π; a,b – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
Лента Мебиуса: |
|
|
|
|
|||
8 |
|
( |
|
( |
|
|
( |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
( |
|
) |
( |
|
|
( |
, –1≤v≤1; 0≤u<2π |
|||
|
|
|
|
|
|
|
||||||
|
|
|
Двуполостный гиперболоид: |
|
|
|
||||||
9 |
|
( |
|
|
( |
( |
|
|
( |
( |
, |
|
|
|
0≤u≤2; 0≤v≤2π; a,b,c – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
Геликоид: |
|
|
|
|
|||
10 |
|
|
|
|
( |
|
|
|
( |
|
, |
|
|
|
–2≤u≤2; 0≤v≤2π; a,b,с – произвольные константы |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Результат продемонстрируйте преподавателю. Сохраните созданную фигуру в файл с расширением *.fig при помощи меню File \ Save as.
3.3. Содержание отчета
Отчет должен содержать цели лабораторной работы, краткое описание и синтаксис используемых команд, результаты выполнения всех пунктов программы работы.
15
Лабораторная работа 4 ОСНОВЫ СИМВОЛЬНЫХ ВЫЧИСЛЕНИЙ И ОПЕРАЦИЙ
НАД ПОЛИНОМАМИ
Цель работы: получение навыков работы с символьными вычислениями и операциями с полиномами в MATLAB.
4.1. Основные сведения
Symbolic Math Toolbox позволяет пользоваться символьной математикой и вычислениями с плавающей точкой в MATLAB. Пакет включает вычислительное ядро пакета Maple V, разработанного фирмой «Waterloo Maple Software». Exte e Sy bolic Math Toolbox предоставляет пользователю дополнительную возможность программирования на Maple и обеспечивает доступ к специализированным библиотекам Maple.
4.2.Программа работы
4.2.1.Символьные вычисления
1.Создание символьных переменных и массивов возможно двумя способами: c помощью команды sym (x = sym('x'); y = sym('y'); z = sym('z')) и с
помощью команды syms (syms a b c). Создайте символьную матрицу 3 × 3
ивычислите ее определитель. Создайте символьную диагональную матрицу
ивычислите ее след.
2.Существует возможность графического построения символьных функций
– команда ezplot. Пример:
% Область определения по умолчанию от –2*pi до 2*pi
>> syms t |
% определение символьной переменной |
>>f1= sin(t);
>>ezplot(f1), grid
3. Для решения символьных конечных уравнений предназначена функ-
ция solve. Пример: |
|
>> syms x |
% задание символьной переменной х |
>> solve('x^2+2*x–8=0') |
% решение квадратного уравнения |
>> solve('x–sin(x)–0.25=0') |
% решение нелинейного уравнения |
При решении системы уравнений аргументы функции solve увеличиваются в соответствии с числом этих уравнений. Например:
>> syms x1, x 2
16
>> [X1,X2]=solve('x1+3*log(x1)-x2^2=0,2*x1-x1*x2-5*x1+1=0'); >> simplify([X2,X1]) % для упрощения результата
4. Другими типовыми функциями вычислений над символьными переменными являются:
−вычисления предела – функция limit (табл. 4.1);
−дифференцирование функций одной переменной — функция diff;
−интегрирование функции одной переменной — функция int.
Таблица 4.1
Традиционное математическое действие |
Команда MATLAB |
|
|
( |
limit(f(x)) |
|
|
( |
limit(f(x),a) |
|
|
( |
limit(f(x),a,’left’) |
|
|
( |
limit(f(x),a,’right’) |
|
|
( |
limit(f(x),inf) |
|
|
Вычислите |
( |
|
) |
|
|
|
|
|
|
|
|
|
|||
Для нахождения n-й производной функции f(x) по переменной h необхо- |
|||||||
димо записать: diff(f(x),h,n). Вычислите |
|
( |
( |
). |
|||
|
|
Вычисление неопределенного интеграла функции f(x) по переменной h: int(f(x),h). Вычисление определенного интеграла функции f(x) по переменной
h в пределах от a до b: int(f(x),h,a,b). Вычислите ∫ |
( |
. |
|
4.2.2.Операции с полиномами
1.Представление полинома р(х) = аn хn + an−1 xn−1+ ... + а2 x2 + а1 х + а0
вMATLAB осуществляется следующим образом: p=[ аn an-1... а2 а1 а0].
Также возможно построение многочлена по заданным корням (при помощи функции poly). Создайте два полинома пятой степени двумя способами.
Для символьного отображения полинома по вектору заданных коэффициентов служит команда poly2sym:
>> c=[1 2 3 4 5]; |
|
>> poly2sym(c) |
% вектор коэффициентов может быть непосред- |
ственно введен в poly2sym:
ans = 1*x^4+2*x^3+3*x^2+4*x+5.
17
2.Умножение и деление полиномов осуществляются при помощи функций conv и dconv соответственно. Произведите обе эти операции над созданными полиномами. Для помощи по синтаксису функций используйте коман-
ду help.
3.Приближение данных полиномом осуществляется с использованием функции polyfit(x, y, n), где x и y – это заданные значения аргумента и функции, n – порядок полинома. Выполните приведенный пример приближения данных полиномом третьего порядка:
>> x=1:7; |
% заданный аргумент |
>> y=[15, 10, 2, 47, 23, 78, 10]; |
% заданная функция |
>> p=polyfit(x,y,3); |
% формирование полинома |
>> x2=1:0.1:7; |
% точки для построения полинома |
>> y2=polyval(p,x2); |
% вычисление значений функции |
>> plot(x,y,x2,y2) |
% построение результата |
4.2.3. Задание на самостоятельную работу
1. Вычислите в соответствии с вариантом:
1) |
( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6) |
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
(√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
7) |
|
|
|
|
(√ |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( √ |
|
|
|
|
||||||||||||||
3) |
|
( |
( |
|
|
|
|
|
|
)); |
|
|
|
|
8) |
|
|
|
) |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
4) |
∫ |
( |
|
|
); |
|
|
|
|
|
|
|
9) |
∫ |
|
|
|
|
|
|
|
( |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
5) |
∫ |
|
|
|
|
|
( |
|
|
|
|
|
|
|
10) |
∫ |
|
|
|
|
|
|
). |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Аппроксимируйте с наименьшей среднеквадратической ошибкой полиномом произвольного порядка зависимость a sin(kx)+bcos(lx) y на интервале от 0 до 2π. Значения коэффициентов возьмите из табл. 4.2.
18
Таблица 4.2
Коэф- |
|
|
|
|
Номер варианта |
|
|
|
|
|||
фициент |
1 |
2 |
3 |
4 |
|
5 |
6 |
|
7 |
8 |
9 |
10 |
a |
1 |
3 |
2 |
8 |
|
5 |
10 |
|
9 |
4 |
6 |
7 |
b |
2 |
4 |
3.5 |
15 |
|
3 |
25 |
|
1.4 |
7 |
13 |
29 |
k |
1 |
2 |
3.1 |
2.2 |
|
0.7 |
2.3 |
|
4.5 |
2 |
1 |
0.8 |
l |
0.5 |
0.6 |
5 |
8 |
|
1.5 |
0.2 |
|
3 |
1.6 |
5 |
3 |
Формула для вычисления среднеквадратической ошибки для двух векторов x1 и x2 длиной n:
√∑(
4.3. Содержание отчета
Отчет должен содержать цель лабораторной работы, краткое описание и синтаксис используемых команд, результаты выполнения всех пунктов программы работы.
Лабораторная работа 5
ВВЕДЕНИЕ В СРЕДУ МОДЕЛИРОВАНИЯ MATLAB
SIMULINK
Цель работы: знакомство с основными возможностями среды MATLAB Simulink. Получение базовых навыков создания моделей в среде MATLAB Simulink.
5.1. Основные сведения
Simulink – полностью интегрированная с MATLAB графическая среда, предназначенная для моделирования и анализа динамических систем. Модель системы в среде MATLAB Simulink представляется в виде блочнофункциональной схемы. Создание моделей осуществляется перемещением в рабочую область редактора стандартных блоков из библиотеки, настройки их параметров и связей между ними. К основным достоинствам Simulink можно отнести широкий выбор стандартных блоков, возможность создания пользовательских блоков, гибкие настройки среды моделирования.
19
5.2.Программа работы
5.2.1.Математическое описание объекта моделирования
Рассмотрим процесс создания компьютерной модели в среде MATLAB Simulink на примере разработки модели гидравлического подъемного устройства, состоящего из насоса и вертикально ориентированного силового гидравлического цилиндра, на штоке которого жестко закреплена масса нагрузки. Вал насоса приводится в движение с помощью внешнего привода, скорость вращения которого будем считать входным сигналом для моделируемой системы. В насосе механическая энергия вращательного движения преобразуется в гидравлическую энергию потока жидкости, которая с помощью силового цилиндра переходит в механическую энергию поступательного движения штока цилиндра с закрепленной на нем массой нагрузки. При составлении математического описания системы примем следующие допущения: модель предназначена для исследования динамических процессов в системе при подъеме груза из ненулевого начального положения; насос приводится в движение приводом с идеальной механической характеристикой (т. е. скорость вращения привода не зависит от нагрузки на валу); в системе не учитываются потери энергии и сжимаемость жидкости в насосе; насос соединен с силовым цилиндром через обратный клапан, позволяющий пропускать жидкость только в одном направлении; силы сухого трения и трения страгивания не учитываются.
Математическое описание рассматриваемой системы можно представить в виде системы нелинейных дифференциальных уравнений:
|
|
|
|
|
|
|
( |
|
(5.1) |
|
|
|
|
|
|||||
{ |
|
|
|
|
( |
) |
|||
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
где y – перемещение штока цилиндра; v – скорость перемещения штока цилиндра; m – суммарная масса нагрузки и штока цилиндра; S – площадь поперечного сечения цилиндра; p – давление жидкости внутри цилиндра; b – коэффициент вязкого трения; g – ускорение свободного падения; B – модуль объемной упругости жидкости; V0 – суммарный объем рабочей полости гидроцилиндра при нулевом положении штока и канала, соединяющего гидро-
20