Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LS-Sb87956

.pdf
Скачиваний:
3
Добавлен:
13.02.2021
Размер:
860.48 Кб
Скачать

2.Сформировать первый вектор (при помощи оператора «:»), содержащий последовательность целых чисел с заданными первым числом и шагом.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]