Как поставить лямбду в матлабе

Обновлено: 07.07.2024

Новая матричная система компьютерной математики MATLAB 8.0 (R2012b) хорошо приспособлена для решения фундаментальных и прикладных задач создания и обработки сигналов. В этой статье впервые в отечественной литературе описаны возможности работы с сигналами как в среде самой системы MATLAB 8.0, так и с помощью Signal Processing Toolbox и нового пакета расширения этой системы — Simulink 8.0, реализующего блочное визуально-ориентированное имитационное моделирование. Автор благодарит корпорацию The MathWork [1] за предоставленную систему MATLAB 8.0 + Simulink 8.0, использованную для подготовки этой серии статей.

Введение

Окно справки по пакету расширения Signal Processing Toolbox системы MATLAB 8.0 представлено на рис. 1 на фоне рабочего окна самой системы с открытой вкладкой каталога пакетов расширения APPS. Одна из кнопок в панели инструментов Signal Analysis дает доступ к браузеру сигналов, фильтров и спектров, показанному в правой части окна справки. В левой части этого окна указаны наименования разделов пакета Signal Processing Toolbox.

Рис. 1. Окно справки по пакету расширения Signal Processing Toolbox

Как видно на рис. 1, пакет Signal Processing Toolbox состоит из следующих разделов:

  • Waveforms — создание сигналов с различной формой и разными законами модуляции;
  • Convolution and Correlation — свертка и корреляция сигналов ;
  • Transform — преобразование сигналов ;
  • Analog and Digital Filters — аналоговые и цифровые фильтры ;
  • Spectral Analysis — спектральный анализ.

Создание сигналов

Многие сигналы представлены как функции времени s(t), параметры которой можно изменять с помощью модуляции того или иного вида. Модуляцией называют процесс изменения какого-либо параметра (амплитуды, частоты, фазы и т. д.) по определенному закону, в результате чего сигнал становится переносчиком информации.

MATLAB 8.0 со своими встроенными средствами позволяет создавать множество сигналов. Например, простейшим является синусоидальный сигнал:

s = A sin(2π ft +j),

где A — амплитуда; f — частота; j — фаза сигнала. Задав эти параметры ( t — как вектор отсчетов сигнала, число элементов которого определяет число отсчетов сигнала):

можно легко построить график сигнала s ( t ):

Он показан на рис. 2 в графическом окне системы MATLAB. Такое построение осуществляется в командной строке, на что указывает приглашение к вводу >>. В командном окне также показано окно с краткими данными о системе MATLAB 8.0 (R2012b). Согласно этим данным система выпущена на рынок в 2012 году.

Рис. 2. Окно командного режима

В дальнейшем, учитывая множество сигналов, мы будем представлять их по четыре в каждом графическом окне, используя для этого функцию его разбиения на четыре под-окна subplot.

Рис. 3. Окно с подокнами меандра, апериодического треугольного импульса, пилообразного периодического импульса и периодического треугольного импульса

Представленная программа (она задается в редакторе) дает примеры создания и графической визуализации четырех типов простых сигналов (меандра, одиночного треугольного импульса, пилообразного импульса и симметричного треугольного импульса) (рис. 3):

Рис. 4. Временные диаграммы четырех сигналов, относящихся к функциям Гаусса

Важное значение имеет функция sinc (или sin(π t )/π t при t ≠ 0 и 1 при t = 0). Функция sinc( t ) представляет обратное преобразование Фурье для прямоугольного импульса с высотой 1 и шириной 2π:

Кроме того, эту функцию можно использовать как базисную для восстановления любого сигнала g ( t ) по его отсчетам, если спектр сигнала ограничен условием –p :

формирует выборку (дискретные значения) косинусоидального сигнала с частотой от f 0 в начальный момент времени t до f 1 в конечный момент времени t 1. Звук такого сигнала напоминает визг, откуда и его название (chirp). По умолчанию t = 0, f 0 = 0 и f 1 = 100. Необязательный параметр phi (по умолчанию 0) задает начальную фазу сигнала. Другой необязательный параметр — method — задает закон изменения частоты: linear — линейный закон (по умолчанию), quadratic — квадратичный и logarithmic — логарифмический.

Функция strips позволяет детально (по частям с длительностью 0,25 с) рассмотреть первые два сложных сигнала, например частотно-модулированного от функции vco. В разделе модуляция/демодуляция есть пример с GUI (рис. 7), иллюстрирующий такие сигналы с различными видами модуляции.

Рис. 7. Визуализация модулированных сигналов

Свертка и корреляция сигналов

Пусть имеется две последовательности, представленные векторами a и b . Сверткой называют одномерный массив, вычисляемый следующим образом:

При записи этого выражения учтено, что нумерация индексов массивов в MATLAB идет с единицы (1). Свертка реализуется функцией conv(a,b):

Операцию свертки часто используют для вычисления сигнала на выходе линейной системы y по сигналу на входе x при известной импульсной характеристике системы h :

Эту операцию можно использовать для осуществления простейшей фильтрации сигнала:

Для двух векторов x и y с длиной m и n определена операция свертки:

Рис. 8. Линейная и циклическая свертка

Обратная свертке функция — это [q,r] = deconv(z,x). Она фактически определяет импульсную характеристику фильтра (рис. 8):

Рис. 9. Очистка от шума линейно-нарастающего сигнала

Свертку часто применяют для очистки сигналов от шума (рис. 9):

Для двумерных массивов также существует функция свертки: Z = conv2(X,Y) и Z = conv2(X,Y,‘option’). Возможна и многомерная свертка — функция convn. Новая функция mscohere строит график зависимости квадрата модуля функции когерентности от частоты (рис. 10):

Рис. 10. Зависимость квадрата модуля функции когерентности от частоты

Следующая программа строит отсчеты двух сигналов с задержкой на три отсчета — треугольного сигнала и шума (рис. 11):

Рис. 11. Два коррелированных сигнала — треугольный и шума

Кросс-корреляцию этих сигналов обеспечивает программа (рис. 12):

Рис. 12. Кросс-корреляция сигналов

Преобразование сигналов

Для предотвращения растекания (размазывания) спектра дискретных сигналов часто используются окна. Для этого достаточно в формуле прямого ДПФ под знаком суммы ввести еще один множитель — W ( k ). Соответственно, обратное дискретное преобразование Фурье задается выражением:

ДПФ легко обеспечивает восстановление непрерывных периодических сигналов с ограниченным спектром. Для этого нужно номер отсчета k поменять на нормированное время t / T . Тогда формула восстановления при четном числе отсчетов будет иметь вид:

Для получения полосы частот сигнала от 0 до π/ T приходится смещать нумерацию отсчетов. При нечетном числе отсчетов суммирование ведется при n , меняющемся от –( N –1)/2 до ( N –1)/2. Коэффициенты X ·( n ) с отрицательными номерами вычисляют из соотношения симметрии.

Частотным спектром случайного процесса является преобразование Фурье от корреляционной функции случайного процесса Rx :

В радиоэлектронике особый интерес представляет спектральная оценка сильно зашумленных сигналов. Для таких сигналов применяются два подхода: непараметрический — использующий только информацию, извлеченную из сигнала (реализован в методах периодограмм и Уэлча), и параметрический — предполагающий наличие некоторой статистической модели сигналов, параметры которой подлежат определению. Реализовано восемь классов алгоритмовспектрального анализа : Periodogram, Welch, MTM (Thomson multitaper method), Burg, Covariance, Modified Covariance, Yule-Walker, MUSIC (Multiple Signal Classification) и Eigenvector. Их подробное описание дано в [4–6].

Периодограммы, спектрограммы и их применение

Рис. 13. Построение спектрограмм сигналов, модулированных по различным законам: логарифмическому, линейному, треугольному и синусоидальному

На рис. 13 показано построение четырех спектрограмм для сигналов с различными законами частотной модуляции. Нетрудно увидеть, что во всех случаях закон модуляции отчетливо распознается и позволяет судить об области частот, в которой действует сигнал (chirp или vco). Этот рисунок строит следующая программа:

Рис. 14. Сравнение периодограммы и спектрограммы сигнала sinc(t)

Из сказанного может сложиться неверное представление о явных преимуществах спектрограмм по сравнению с периодограммами (функция psd). То, что это далеко не так, показывает программа для сигнала sinc (рис. 14):

Эта программа строит периодограмму и спектрограмму функции sinc(t). Теперь беспомощной оказывается спектрограмма, по которой ничего нельзя сказать о спектре сигнала и области его частот. А периодограмма более информативна: она указывает на вид спектра и область занимаемых им частот. В частности, хорошо видно постоянство спектра в начальной области частот, присущее этой функции. Правда, вид спектрограммы сильно зависит от типа короткого окна: в данном случае задано окно Блэкмана (Blackman). Вид периодограммы также зависит от выбора окна, но глобального.

Чем сложнее сигнал, тем более детальной и эффектной оказывается спектрограмма. На рис. 15 показан пример модуляции/демодуляции с построением спектрограммы сложного звукового сигнала. Кстати, оригинальный сигнал и сигнал, прошедший модуляцию/демодуляцию, можно воспроизвести на компьютере, оборудованном звуковой картой и акустической системой. Это можно сделать при различных видах модуляции.

Рис. 15. Спектрограмма сложного акустического сигнала с амплитудной модуляцией

Похожие на спектрограммы картинки дают вейвлетограммы и скайлеграммы, получаемые при вейвлет-анализе сигналов [7]. Порою они более информативны. Но вейвлеты в Signal Ptocessing Toolbox не реализованы: они описаны и используются в отдельном пакете расширения Wavelet Toolbox.

Для выполнения дискретного преобразования Фурье различными методами служит GUI-окно Discrete Fourier Transform (рис. 16).

Рис. 16. Спектр пилообразного сигнала в окне дискретного Фурье-преобразования

Оно позволяет задать один из трех видов сигнала (синусоида, меандр и пилообразный) и его периодограмму (спектр) при одном из шести видов окон. Как сигнал, так и окно можно загружать извне из файла или рабочего пространства MATLAB. Нетрудно убедиться в большом влиянии на вид спектра выбранного окна.

Оконные функции и браузер окон

Учитывая важную роль окон, в Signal Processing Toolbox входит 21 N ‑точечное окно ( N — целое число), называемое по фамилии предложивших окно ученых, например Hamming, Blackman, Bartlett, Chebyshev, Taylor, Kaiser и т. д. Для просмотра временных и амплитудно-частотных характеристик всех окон есть соответствующие функции, но удобно пользоваться GUI-браузером окон wvtool.

позволяет строить четыре типа 64‑точечных окон — прямоугольное, Хемминга, Ханна и Гаусса. Можно задать окна и отдельными командами.

Рис. 17. Сравнение в браузере трех окон Кайзера с параметром бетта 1,5, Блэкмана и Блэкмана-Харисса

Это, а также сравнительное построение трех других типов окон обеспечивает следующая программа (рис. 17):

Рис. 18. Конструктор окон

Существует также конструктор-анализатор окон с GUI-интерфейсом, окно которого (рис. 18) открывается командой:

По умолчанию в нем открывается окно объекта sigwin, но можно открыть и другие окна (в том числе окно пользователя) из списка Current Window Information. Открытые окна появляются в третьем нижнем окне. Окна можно скопировать, добавить в список, установить в рабочее пространство MATLAB или стереть.

Изменение числа отсчетов и интерполяция сигналов

Изменение числа отсчетов широко используется в технике цифровой обработки сигналов. Для уменьшения числа отсчетов применяются операция децимации и функция decimate (рис. 19):

Рис. 19. Уменьшение частоты дискретизации сигнала (децимация)

Для увеличения числа отсчетов исходный сигнал интерполируют (функция interp), а затем нужное число отсчетов сигнала берут из кривой интерполированного сигнала (рис. 20):

Рис. 20. Интерполяция сигнала и увеличение частоты его дискретизации

Аналоговые и цифровые фильтры

Фильтры имеют особое значение при обработке сигналов. С их помощью осуществляется очистка сигналов от шума или реализуются избирательные свойства систем. Будем считать, что читатель знаком с теорией фильтров.

Фильтрующие цепи обычно задаются своей операторной передаточной характеристикой:

h ( s ) = a ( s )/ b ( s ).

Имея векторы коэффициентов полиномов a ( s ) и b ( s ), с помощью функции freqs можно построить АЧХ и ФЧХ фильтрующей цепи в логарифмическом масштабе (рис. 21):

Рис. 21. Построение логарифмической АЧХ и ФЧХ системы по ее операторной передаточной характеристике

В Signal Processing Toolboox входит множество функций по расчету и проектированию различных фильтров — нижних, верхних частот и полосовых. Порою для получения важных характеристик фильтров достаточно задать нужную строку программного кода. Например, построение характеристик аналогового фильтра Бесселя (рис. 22) реализуется следующим программным фрагментом:

Для просмотра практически всех характеристик фильтров можно использовать визуализатор фильтров fvtool. Приведенная ниже программа дает характеристики фильтра Бесселя нижних частот (рис. 23):

Рис. 23. Характеристики аналогового эллиптического фильтра нижних частот

Открытое меню Analysis дает представление обо всех доступных видах анализа фильтров. Среди них построение АЧХ и ФЧХ фильтра, импульсная и переходная характеристики, групповая задержка и т. д.

Конструирование двух цифровых фильтров НЧ (FIR и Баттерворта) со сравнительным построением их характеристик в окне fvtool (рис. 24) обеспечивает следующая программа:

Рис. 24. АЧХ двух цифровых фильтров для сравнения

Программа строит и другие характеристики фильтров, например переходные и импульсные. Напомним, что переходная характеристика является реакцией системы (фильтра) на единичный скачок, а импульсная — на импульс единичной площади с длительностью, стремящейся к нулю (рис. 25).

Рис. 25. Импульсные характеристики двух цифровых фильтров

Интерактивный конструктор-анализатор фильтров fdatool

В Signal Proccesing Toolbox входит интерактивный конструктор-анализатор фильтров с GUI-интерфейсом. Он позволяет без какого-либо программирования анализировать и проектировать семь основных типов фильтров (таблица).

4 -е занятие по MATLAB

ЛАБОРАТОРНАЯ РАБОТА №4

I. Базовые операции символьной математики

системы MATLAB — SIMBOLIC MATHEMATICS TOOLBOX

1. Создание символьных переменных и массивов (x, y, z, a, b, c и т.д.).

Первый способ c помощью команды sym: x = sym('x'); y = sym('y'); z = sym('z');

Второй способ с помощью команды syms: syms a b c;

1.1. Создание символьных матриц А1 (А2) или массивов:

1-й способ : A1 = sym('[a1 b1 c1;d1 e1 f1;g1 h1 k1]'); % матрица А1 размера 3 ´ 3

% Вывод матрицы А1 в командной строке

2- й способ : syms a b c d e f g h k

A2 = [a2 b2 c2;d2 e2 f2;g2 h2 k2]; % Матрица А2 размера 3 ´ 3

% Вывод матрицы А2 в командной строке

1.2. Проверить рабочую область c помощью команды whos.

1.3. Символьные числовые матрицы и элементы:

Ac1=sym([1 3 7;2 4 6;1 7 5]); % Без апострофа

Ас2 = sym('7'); % С апострофом

1.4. Детерминант символьной матрицы — det :

a1*e1*k1-a1*f1*h1-d1*b1*k1+d1*c1*h1+g1*b1*f1-g1*c1*e1

a2*e2*k2-a2*f2*h2-d2*b2*k2+d2*c2*h2+g2*b2*f2-g2*c2*e2

% Детерминант матрицы 2-го порядка A 3= sym ('[ a 1 b 1; c 1 d 1]')

1 .5. Выделение диагонали заданной символьной матрицы:

1.6. Выделение диагонали символьной числовой матрицы

1.7. Создание символьной диагональной матрицы по заданной:

1.8. Создание числовой символьной диагональной матрицы по заданной

1.9. Вычисление собственных значений и собственных векторов символьно-числовой матрицы.

Собственные векторы — это такие векторы v , которые преобразуются матрицей А в векторы, отличающиеся от исходных лишь скалярным множителем s :

% Вычисление собственных векторов и собственных значений квадратной матрицы А — eig

v = % Матрица правых собственных векторов матрицы А

s = % Диагональная матрица собственных значений матрицы А

% Справедливо следующее спектральное разложение: ,

% Спектральное разложение может быть осуществлено по вектору столбцу, например

% Первый собственный вектор v1 — это первый столбец матрицы v: v1=(0, 1, 8)

% Второй собственный вектор v2 — это второй столбец матрицы v: v2=(1, 2 ,16/3)

% Третий собственный вектор v3 — это третий столбец матрицы v: v3=(0, 0 ,1)

% Собственные числа матрицы А: s1=-2, s2=-1, s3=-5/2=-2.5

% Справедливы следующие соотношения:

A*v1=s1*v1; A*v2=s2*v2; A*v3=s3*v3.

Задание: Найти собственные векторы и собственные значения матрицы [7,-2,0;-2,6,-2;0,-2,5] , проверить результат.

2. Графические построения символьных функций — ezplot .

2.1. 1-й способ. Область определения по умолчанию от -2* pi до 2* pi

2.2. 2-й способ обращения к функции ezplot . Задаваемая область определения

2 .3. 3-й способ обращения к функции ezplot . Определение функции под знаком ezplot

2 .4. 4-й способ обращения к функции ezplot .

3. Свойства собственнх значений матрицы:

где — след матрицы А, т.е. сумма элементов главной диагонали, — собственные значения матрицы А, , — размерность матрицы А.

% В системе MATLAB

4. Создание полиномов и характеристических полиномов.

4.1. Создание полинома по вектору заданных коэффициентов — poly2sym .

% Переменная х устанавливается по умолчанию. Другие переменные следует определять

4.2. Характеристический полином заданной символьно-числовой матрицы

Характеристический полином определяется из следующего характеристического уравнения для заданной матрицы А:

где — единичная матрица

Каждое собственное число матрицы А удовлетворяет ее характеристическому уравнению

% Для чисто числовой матрицы функция poly определяет только строку коэффициентов

Задание. Вычислить собственные значения матрицы А с присвоением результата и подставить каждое из собственных значений в полученный характеристический полином. Результат должен быть равен нулю. Использовать функцию упрощения результата вычислений simplify.

4.3. Выделение коэффициентов из заданного полинома — sym2poly.

% Полученную вектор-строку можно переопределить с присвоением

Задание. Сформировать характеристический полином по полученному вектору-строки с использованием функции poly2sym по переменной z.

5. Решение символьных конечных уравнений — solve .

5.1. Решение квадратного уравнения

[ -1-i*7^(1/2)] % Комплексное решение, i — мнимая единица

5.2. Решение нелинейных уравнений.

1.1712296525016659939038330755362

5.3. Решение систем нелинейных уравнений.

5.4. Решение систем трансцендентных уравнений.

Пример. Решить следующую систему трансцендентных уравнений:

где t1, t2, t3 — искомые переменные.

syms t1 t2 t3

[T1,T2,T3]=solve('(1-0.5)*exp(t3)-2*exp(t2)+2*exp(t1)-1=0,(1-0.5)*exp(0.5*t3)-2*exp(0.5*t2)+2*exp(0.5*t1)-1=0,(1-0.5)*exp(0.25*t3)-2*exp(0.25*t2)+2*exp(0.25*t1)-1=0');

% Функция vpa используется д ля задания количества значащих цифр

O4=(1-0.5)*exp(T3(4))-2*exp(T2(4))+2*exp(T1(4))-1 % Для проверки

% Каждое из 6 решений должно удовлетворять любому из 3-х уравнений

II. Вычисление символьных выражений

с различным представлением результатов.

Вычисление пределов в MATLAB. Вычисление сумм, произведений.

в пакете SIMBOLIC MATHEMATICS TOOLBOX.

1. Представление результата в виде рационального числа — 'r' .

1.1. Вычисление дроби 1/3:

1.2. Вычисление натурального логарифма от 3 — :

4947709893870347*2^(-52)

1.3. Вычисление десятичного логарифма от 3 — :

8595052419864061*2^(-54)

1.4. Вычисление логарифма по основанию два от 3 — :

7138036527644009*2^(-52)

Замечание: Представление в виде рационального числа имеет формат либо p/q либо p*2^q, где p, q — целые числа.

2. Представление результата в виде числа с плавающей точкой — 'f' .

Все величины представляются в форме '1.F'*2^(e) или '-1.F'*2^(e), где F — это ряд из 13 шестнадцатиричных цифр, а e — целое число. В случае, когда результат вычисления не может быть представлен точно в форме с плавающей точкой, то выводятся буквы, имеющие то или иное назначение в интерпретации результата.

2.1. Вычисление дроби 1/2:

'1.0000000000000'*2^(-1)

% Результат записан в виде точного представления в арифметике с плавающей точкой

2.2. Вычисление дроби 1/5:

'1.999999999999a'*2^(-3)

% Результат записан в виде приближенного (буква а — approximately) представления в арифметике с плавающей точкой.

3. Рациональное число с оценкой погрешности полученного представления —'e'.

Рациональное представление добавляется переменной 'eps', которая оценивает разницу между теоретическим рациональным выражением (результатом) и его действительной величиной с плавающей точкой.

3.1. Вычислить дробь 1/2:

1/2 % Результат как и в случае рационального представления

3.2. Вычислить дробь 1/3:

3.3. Вычислить выражение :

7248263982714163*2^(-52)

3.4. Вычислить дробь 3/33

4. Формат десятичного числа — 'd' .

4.1. Вычислить дробь 1/3:

.33333333333333331482961625624739 % По умолчанию поддерживаются 16 цифр %мантиссы полученного числа

4.2. вычислить выражение :

.10000000000000000762976984109189e51

4.3. Вычислить дробь 1/3 с 23 знаками в мантиссе с использованием функции vpa :

.33333333333333333333333

4.4. Вычислить дробь 1/3 с 23 знаками в мантиссе с использованием vpa и digits

.33333333333333333333333

% Использование только digits приводит к выводу результата с заданным количеством цифр, но %с ограниченной точностью (в формате 'd'):

.33333333333333331482962

5. Вычисление пределов — limit.

Вычисление пределов от символьных выражений производится с помощью встроенной функции limit . Соответствие между традиционным математическим описанием и символьным системы MATLAB приводится в таблице 1.

Примечание: символ бесконечность ( ) в MATLAB записывается как inf . Неопределенное значение в MATLAB записывается как NaN .

5.1. Вычислить предел выражения :

1 % Предел отношения равен единицы

5.2. Вычислить предел выражения :

exp(1) % Ответ: число е в первой степени

5.3. Вычислить предел выражения при стремлении х к нулю слева:

-inf % Ответ: минус бесконечность

5.4. Вычислить предел выражения при стремлении х к нулю справа:

inf % Ответ: бесконечность (т.е. плюс бесконечность)

limit((sin(x+h)-sin(x))/h,h,0) returns cos(x)

5.5. Вычислить предел выражения :

6 . Дифференцирование функций одной переменной — diff .

6.1. Найти производную функции по переменной х:

6.2. Найти производную функции по переменной х:

6.3. Найти производную функции по переменной h :

6.4. Найти вторую производную от функции по переменной h :

6.5. Найти вторую производную от функции по переменной х:

6.6. Найти третью производную от функции по переменной h :

7. Интегрирование функции одной переменной — int .

7.1. Вычисление неопределенного интеграла:

% Вычислить неопределенный интеграл от функции по переменной h :

% Вычислить неопределенный интеграл от функции по переменной x :

1/2*x^2+2*h*x+h^2*log(x) % В ответе имеется в виду натуральный логарифм

7.2. Вычисление определенного интеграла.

% Вычислить определенный интеграл :

% Вычислить определенный интеграл по переменной h :

2*sin(x)*x^2*pi+4*sin(x)*x*pi^2+8/3*sin(x)*pi^3-sin(x)*x^2-sin(x)*x-1/3*sin(x)

5.2832*sin(x)*x^2+38.479*sin(x)*x+82.353*sin(x)

8. Решение обыкновенных дифференциальных уравнений в символьном виде — dsolve .

Решатель дифференциальных уравнений может быть использован, если решение существует в аналитическом виде. Практически это означает, что решателем dsolve можно пользоваться только при поиске решения линейного дифференциального уравнения (или системы линейных уравнений).

8 .1. Решить дифференциальное уравнение с начальным условием Построить график решения в интервале [-0.5, 7].

% Создадим следующий сценарий под именем sdif1 :

% Решение диф.уравнения в символьном виде

ezplot(x1,[-0.5,7]),grid,title(' Диф.уравнение ')

% Область построения графика решения можно задавать без квадратных скобок

8 .2. Решить систему однородных дифференциальных уравнений с начальными условиями Построить график решения в интервале [-0.5, 13].

% Создадим следующий сценарий под именем sdif2 :

ezplot(x1,0,13),grid,hold on,ezplot(x2,[0,13]),title ('Однородная система 2-х уравнений')

8.3. Решить систему неоднородных дифференциальных уравнений

с нулевыми начальными условиями и построить график решения в интервале [0, 5] для первой координаты и в интервале [0, 9] для второй координаты .

% Создадим следующий сценарий под именем sdif3 :

[x1,x2]=dsolve('Dx1=-3*x1+12','Dx2=2.5*x1-1.25*х2','x1(0)=0',

ezplot(x1,[0,5]),grid,hold on,ezplot(x2,[0,9]),title( ' Неоднородная система 2-х уравнений ')

8.4. Решить дифференциальное уравнение 2-го порядка с нулевыми начальными условиями и построить график решения в интервале [-0.2, 9] .

% Создадим следующий сценарий под именем sdif4 :

ezplot(x,[-0.2 9]),grid,title ('Д иф.уравнение 2-го порядка ')

8.5. Решить дифференциальное уравнение 3-го порядка с нулевыми начальными условиями и построить график решения в интервале [-0.2, 21] .

% Создадим следующий сценарий под именем sdif5 :

ezplot(x,[-0.2 21]),grid,title ('Диф.уравнение 3-го порядка')

8.6. Решить неоднородную систему дифференциальных уравнений 3-го порядка

с нулевыми начальными условиями и построить график решения по каждой координате в одной системе координат в интервале [-1, 19] с различными цветами по , , .

% Создадим следующий сценарий под именем sdif6 :

[x1,x2,x3]=dsolve('Dx1=-x1+2.3','Dx2=x3','Dx3=1.025*x1-0.4*x3-0.8*х2',

ezplot(x1,[-1,19]),grid, hold on,ezplot(x2,[-1,19],

title ('Н еоднородная система 3-го порядка '),

% Функция ezplot не позволяет строить графики с заданными цветами. Применим fplot . Для этого в функцию fplot следует вставить решения из командного окна MATLAB. Например, решение по первой координате имеет вид

% Тогда формат записи fplot для графика по х1 будет следующий (с красным цветом):

% Через hold on можно добавить еще fplot по второй координате х2 и по третьей х3.

¾ Для объекта с передаточной функцией решить соответствующее дифференциальное уравнение при нулевых начальных условиях и построить график решения (переходный процесс).

¾ Для того же объекта с передаточной функцией W(s) записать систему дифференциальных уравнений первого порядка, решить ее и сравнить с решением соответствующего дифференциального уравнения 3-го порядка.

¾ Исследовать переходной процесс по выходным координатам двух колебательных звеньев, соединенных последовательно. Передаточные функции звеньев принять в виде:

¾ Решение в символьном виде систем дифференциальных уравнений сравнить с решением численного метода с помощью решателя ode45.

Читайте также: