%СГЛАЖИВАНИИЕ clc %Для работы требуется предварительно запустить скрипт %Measurments_without_model prcnt10 = N/100; p_count = 0; dV_Smoothed = zeros(N,1); Fi_Smoothed = zeros(N,1); dW_Smoothed = zeros(N,1); %сглаживание по среднему занчению % for i = 1:1:N % dW_Smoothed(i,1) = (dW_Filtered(i,1) + Backward_dW_Filtered(i,1))/2; % if (mod(i,prcnt10) == 0) % clc; % fprintf('Smoothing complete %d%%', p_count + 1); % p_count = p_count + 1; % end % end; %сглаживание путем комбинации прямого и обратного времени фильтра калмана est_X_k_sm = [0;0;0]; est_X_k_F = [0;0;0]; est_X_k_B = [0;0;0]; Ak = P_k_B/(P_k_B + P_k_F); for i = 1:1:N est_X_k_F(1,1) = dV_Filtered(i,1); est_X_k_F(2,1) = Fi_Filtered(i,1); est_X_k_F(3,1) = dW_Filtered(i,1); est_X_k_B(1,1) = Backward_dV_Filtered(i,1); est_X_k_B(2,1) = Backward_Fi_Filtered(i,1); est_X_k_B(3,1) = Backward_dW_Filtered(i,1); est_X_k_sm = Ak*est_X_k_F + (I - Ak)*est_X_k_B; dV_Smoothed(i,1) = est_X_k_sm(1,1); Fi_Smoothed(i,1) = est_X_k_sm(2,1); dW_Smoothed(i,1) = est_X_k_sm(3,1); if (mod(i,prcnt10) == 0) clc; fprintf('Smoothing complete %d%%', p_count + 1); p_count = p_count + 1; end end;