Материал: LS-Sb87956

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

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