Лабораторная работа 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