Моделирование нелинейных звеньев. Лекция №11

Содержание

Слайд 2

Литература Монаков А.А. Основы математического моделирования радиотехнических систем. Учебное пособие. –

Литература

Монаков А.А. Основы математического моделирования радиотехнических систем. Учебное пособие. – СПб.:

ГУАП, 2005. – 100с.

Глава 2, раздел 2.2. Моделирование нелинейных систем

Слайд 3

Литература Дьяконов В. П. MATLAB 7.*/R2006/R2007: Самоучитель. – М.: ДМК Пресс,

Литература

Дьяконов В. П.
MATLAB 7.*/R2006/R2007: Самоучитель. – М.: ДМК Пресс, 2008. –

768 с.: ил.

Урок 8. Программные средства численных методов

Слайд 4

Нелинейные звенья В общем случае описываются нелинейными дифференциальными уравнениями Но есть

Нелинейные звенья

В общем случае
описываются
нелинейными
дифференциальными
уравнениями


Но есть частные случаи, для которых задача упрощается:
безынерционные звенья (исчезают производные)
инерционные замкнутые (работает курс Радиоавтоматики)
Слайд 5

Нелинейные звенья Таблица − Типовые звенья радиоавтоматики

Нелинейные звенья

Таблица − Типовые звенья радиоавтоматики

Слайд 6

Нелинейные звенья Таблица − Типовые звенья радиоавтоматики (продолжение)

Нелинейные звенья

Таблица − Типовые звенья радиоавтоматики (продолжение)

Слайд 7

Безынерционные звенья Дано звено Производит нелинейное преобразование входного сигнала В общем

Безынерционные звенья

Дано звено

Производит нелинейное
преобразование
входного сигнала

В общем случае

вида:

Моделирование сводится к:
1) формирование оси времени

T = 1e-3; tmin = 0; tmax = 100*T;
t = tmin:T:tmax;
A = 10; f0 = 1e2;
x = A * sin( 2*pi * f0 * t );
nV = 0.3; Is = 10;
y = Is * (exp(y/nV) - 1);

2) формирование отсчетов
входного сигнала

3) функциональное преобра-
зование каждого отсчета

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

Слайд 8

Множество Мандельброта – множество точек с на комплексной плоскости, для которых

Множество Мандельброта

– множество точек с на комплексной плоскости, для которых последовательность

сходится

|zn|

Фрактал

— множество, обладающее свойством самоподобия. В математике под фракталами понимают множества точек в евклидовом пространстве, имеющие дробную метрическую размерность (в смысле Минковского или Хаусдорфа), либо метрическую размерность, отличную от топологической.
Расширенное определение:
Слайд 9

Множество Мандельброта clear all; clc; close all pxls=3000; N=50; z =

Множество Мандельброта

clear all; clc; close all
pxls=3000; N=50;
z = zeros(pxls,pxls);
c=…
repmat(linspace(-1.5,0.5,pxls),pxls,1) ...
+ 1i*

repmat(linspace(-1,1,pxls)',1,pxls);
for j=1:N
z = z.^2 + c;
end
thresh = 5;
ind = find(real(z) > thresh);
z(ind) = thresh + 1i*imag(z(ind));
ind = find(real(z) < -thresh);
z(ind) = -thresh + 1i*imag(z(ind));
ind = find(imag(z) > thresh);
z(ind) = real(z(ind)) + thresh*1i;
ind = find(imag(z) < -thresh);
z(ind) = real(z(ind)) - thresh*1i;
colormap(hot);
imagesc(log( abs(z) + 1 )); axis equal

zeros(m, n)
repmat(A,M,N)
find(условие)  
real(Z)
imag(Z)
colormap(‘default’)
imagesc(A)
axis equal

Слайд 10

fsolve() Часто возникает задача поиска корня системы нелинейных уравнений main.m X0

fsolve()

Часто возникает задача поиска корня системы нелинейных уравнений

main.m
X0 = [0.5; 1];
optnew

= optimset('TolFun', 1e-20);
X = fsolve(@F, X0, optnew)
F.m
function f = F( X )
f = sinc(sqrt(X(1)^2 + X(2)^2)) - 1;
end

X = 1.0e-08 * -0.0095
-0.6332

Результат:

Слайд 11

fminsearch() Схожая задача – поиск минимума/максимума функции main.m X0 = [0.5;

fminsearch()

Схожая задача – поиск минимума/максимума функции

main.m
X0 = [0.5; 1];
optnew = optimset('TolFun',

1e-20);
X = fminsearch(@F, X0, optnew)
F.m
function f = F( X )
f = -sinc(sqrt(X(1)^2 + X(2)^2));
end

X = 1.0e-07 * -0.1338
-0.0701

Результат:

Слайд 12

Замкнутые звенья Замкнутое инерционное нелинейное звено – система с ОС с

Замкнутые звенья

Замкнутое инерционное нелинейное звено – система с ОС с

неинерционным нелинейным звеном

– выход «дискриминатора»

– фильтр

Слайд 13

Замкнутые звенья Получаем: Lifehack* нелинейное уравнение, возможно трансцендентное известное к моменту

Замкнутые звенья

Получаем:

Lifehack*

нелинейное уравнение,
возможно трансцендентное

известное к моменту n число

*

«хитрости жизни», «народная мудрость» или полезный совет
Слайд 14

Метод Эйлера В общем случае требуется решение системы нелинейных дифференциальных уравнений

Метод Эйлера

В общем случае требуется решение системы
нелинейных дифференциальных уравнений

Есть

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

Метод Эйлера

Идея – заменить производную
по времени на конечную разность

Ошибка пропорциональна

y = y0;
for t = tmin:T:tmax;
y = y + T*F(t,y);
...
end

Слайд 15

Расширенный метод Эйлера Расширенный метод Эйлера Идея – выбрать наклон как

Расширенный метод Эйлера

Расширенный метод Эйлера

Идея – выбрать наклон как среднее между


наклоном на прошлом шаге и наклоном по простому
методу Эйлера

Ошибка пропорциональна

y = y0;
for t = tmin:T:tmax;
yt = y + T*F(t,y);
y = y + T/2*(F(t,y) + F(t, yt));
...
end

Слайд 16

Метод Рунге-Кутта Метод Рунге-Кутта 4 порядка Ошибка пропорциональна Пример: После замены

Метод Рунге-Кутта

Метод Рунге-Кутта 4 порядка

Ошибка пропорциональна

Пример:

После замены
переменных:

main.m:
T = 0.1; tmin

= 0; tmax = 3;
Y0 = [0.8 2]; % Начальные условия
[t, Y] = ode45('diffs', tmin:T:tmax, Y0);
plot(t, Y); grid on
legend('Y_1 = y', 'Y_2 = dy/dt');

diffs.m:
function dY = diffs( t, Y )
dY = Y(:);
dY(1) = Y(2);
dY(2) = cos(3*t) - 4*Y(1);
end

Слайд 17

Решатели • ode45 – одношаговые явные методы Рунге Кутта 4 го

Решатели

• ode45 – одношаговые явные методы Рунге Кутта 4 го и

5 го порядков. Использовать в первую очередь. Дает хорошие результаты, если система нежесткая.
• ode23 – одношаговые явные методы Рунге Кутта 2 го и 4 го порядков. Может дать выигрыш в скорости решения.
• ode113 – многошаговый метод Адамса–Башворта–Мултона переменного порядка класса предиктор–корректор. Это адаптивный метод, который может обеспечить высокую точность решения.
• ode15s – многошаговый метод переменного порядка. Применять, если ode45 не справилась.
• ode23s – одношаговый метод, использующий модифицированную формулу Розенброка 2 го порядка. Высокая скорость, низкая точность, жесткая система
• ode23t – неявный метод трапеций с интерполяцией. Для колебательных систем.
• ode23tb – неявный метод Рунге–Кутта, альтернатива ode15s.
• bvp4c – для уравнений вида y’ = f(t,y), F(y(a), y(b),p) = 0 (полная форма системы уравнений Коши). Для задания граничных условий как в начале, так и в конце интервала решения.
• pdepe – служит для решения систем параболических и эллиптических дифференциальных уравнений в частных производных.
Слайд 18

Аттрактор Лоренца Описывается системой уравнений: clear all; clc; close all %

Аттрактор Лоренца

Описывается
системой уравнений:

clear all; clc; close all
% Начальные условия
Y0

= [10;10;10];
T = 0.01;
tmin = 0; tmax = 20;
% Решение методом Рунге-Кутта 4-5 пор.
[t, Y] = ode45(@loren, tmin:T:tmax, Y0);
figure(1)
subplot(2,2,1); plot(t, Y(:,1)); title('y_1(t)');
subplot(2,2,2); plot(t, Y(:,2)); title('y_2(t)');
subplot(2,2,3); plot(t, Y(:,3)); title('y_3(t)');
subplot(2,2,4); plot(Y(:,1),Y(:,2));
xlabel('y_1(t)'); ylabel('y2_(t)');
figure(2)
plot3(Y(:,1), Y(:,2), Y(:,3), '.');
grid on; xlabel('y_2')
ylabel('y_1'); zlabel('y_3');

function F = loren(t, y)
r = 28;
sigma = 10;
b = 8/3;
F = [sigma*(y(2)-y(1));
r*y(1)-y(2)-y(1)*y(3);
y(1)*y(2)-b*y(3)];

Слайд 19

Аттрактор Лоренца

Аттрактор Лоренца

Слайд 20

Аттрактор Лоренца Изменим на 1% начальные условия: Y0 = [10;10;10] * (1+1/100);

Аттрактор Лоренца

Изменим на 1%
начальные условия:

Y0 = [10;10;10] * (1+1/100);