Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)» (МГТУ им. Н.Э. Баумана) ФАКУЛЬТЕТ _______ИНФОРМАТИКА И УПРАВЛЕНИЕ_____________________________ КАФЕДРА _________КОМПЬЮТЕРНЫЕ СИСТЕМЫ И СЕТИ__________________________ Магистерская программа __Современные интеллектуальные программно-аппаратные комплексы__ ОТЧЕТ По домашнее задание №3 «Реконструкция математической модели системы по неполным данным» Дисциплина: Системный анализ в управлении Студент ИУ6И-43М (Группа) Э.А. Керхили (Подпись, дата) Преподаватель (И.О. Фамилия) Д.И. Миков (Подпись, дата) Москва, 2022 (И.О. Фамилия) Функция регистрируемого сигнала Вариант: у = 𝟏. 𝟓 𝐬𝐢𝐧(𝒙) + 𝒙𝟐 Математическая модель Задания Сформировать временной ряд ai(i∆t) = ai, I = 1, …,N, где N = 400 ÷ 500. Отрезок: t =[0;10] ∆t = (tf-t0)/N = 0.02. Параметры реконструкции: n = 3, v = 3 Вектор состояния: 𝑋(𝑡) = [𝑎(𝑡), 𝑑𝑎(𝑡) 𝑑2 𝑎(𝑡) 𝑑𝑡 , 𝑑𝑡 2 ] = 𝑓(𝑥1 , 𝑥2 , 𝑥3 ) Математическая модель системы: 3 𝑓(𝑋) = ∑ 𝑙1 ,𝑙2 ,𝑙3 =0 3 3 𝑙 𝑐𝑙1,𝑙2 ,𝑙3 ∏ 𝑥𝑘𝑘 , ∑ 𝑙𝑘 ≤ 3 𝑘=1 𝑘=1 число коэффициентов: k = (n + v)!/(n!v!) = 20 Код Математической модели ode45: systema.m function f global f(1) = f(2) = = systema(~,x) C; x(2); x(3); f(3) = (C(1) + C(2)*x(1) + C(3)*x(2) + C(4)*x(3)+C(5)*x(1)*x(2) + C(6)* x(2) *x(3) ... +C(7)*x(1)*x(3) + C(8)*x(1)*x(1) + C(9)*x(2)*x(2)+C(10)*x(3)*x(3) ... +C(11) * x(1)*x(2)*x(3) + C(12)*x(1)*x(1)*x(2) + C(13)*x(1)*x(1)*x(3) ... +C(14)*x(1)*x(2)*x(2) + C(15)*x(2)*x(2)*x(3) + C(16)*x(1)*x(3)*x(3)... +C(17)*x(2)*x(3)*x(3) + C(18)*x(1)*x(1)*x(1) + C(19)*x(2)*x(2)*x(2) ... +C(20)*x(3)*x(3)*x(3)); f = f'; end Код Основной программы: model.m t0 = 0; tf = 10; N = 500; step = (tf-t0)/N; syms x; t = t0 : step : tf; n = 3; v = 3; k = 20; global C x1 x2 x3 x4; y1 = zeros(1, N+1); for i = 1 : N y1(i) = 1.5 * sin(t(i)) + t(i)^2; end y2 = zeros(1, N+1); y3 = zeros(1, N+1); y4 = zeros(1, N+1); x1 x2 x3 x4 = = = = zeros(k,1); zeros(k,1); zeros(k,1); zeros(k,1); C = zeros(1, k); for i = 1 : N-1 y2(i) = (y1(i + 1) - y1(i)) / step; end for i = 1 : N-1 y3(i) = (y2(i + 1) - y2(i)) / step; end for i = 1 : N-1 y4(i) = (y3(i + 1) - y3(i)) / step; end for i = 0 : 19 x1(i+1) = y1( (i *(N/k)) + 1); end for i = 0 : 19 x2(i+1) = y2( (i *(N/k)) + 1); end for i = 0 : 19 x3(i+1) = y3( (i *(N/k)) + 1); end for i = 0 : 19 x4(i+1) = y4( (i *(N/k)) + 1); end A = zeros([k, k]); for i = 1 : k A(i, :) = [1 x1(i) x2(i) x3(i) x1(i)*x2(i) x2(i)*x3(i) x1(i)*x3(i) (x1(i))^2 (x2(i))^2 ... (x3(i))^2 x1(i)*x2(i)*x3(i) (x1(i))^2*x2(i) (x1(i))^2*x3(i) (x2(i))^2*x1(i) ... (x2(i))^2*x3(i) (x3(i))^2*x1(i) (x3(i))^2*x2(i) (x1(i))^3 (x2(i))^3 (x3(i))^3]; end C = A \ x4; [~, s] = ode45('systema', t, [x1(1) x2(1) x3(1)]); Y1 = s(:, 1); figure plot(t,Y1,'-r', t,y1,'-g'); title('The graphic of reconstructed model and original function') legend({'reconstructed', 'original'}, 'Location', 'northeast', 'FontSize',11); grid on; Y2 = s(:, 2); figure plot(Y1,Y2,'-r', y1,y2,'-g'); title('Phase portraits') legend({'reconstructed', 'original'}, 'Location', 'northeast', 'FontSize',11); grid on; Выполняя программы, получается: 1- изображения оригинального; 2- реконструированного сигналов, фазовые портреты. Выводы В ходе лабораторной работы были выполнены следующие задачи: 1 - выбраны параметры модели; 2- разработана реконструкция сигнала на основе вектора переменных состояния. 3- была реализована реконструкция системы с использованием ode45 в matlab и проведено сравнение с исходной моделью; В качестве результатов: график восстановленного сигнала имеет форму и фазу, аналогичные исходным. Сходство фазовых портретов показывает высокую точность построенной модели благодаря тщательно подобранным параметрам n, v и временному шагу ∆t.