%% Ładuj sygnał clear; clc; X = 1:120; Y = sin(pi * X / 6 + pi / 2); % sinusoida, okres 12 %Y = repmat(linspace(-1,1,10), 1, 10); + cos(X/7); % trójkątna, okres 10 %Y = repmat(repelem([-1 1], 10), 1, 5); % kwadratowa, okres 20 %% Oblicz błędy i wykresy close all; hold on; plot(X,Y, 'k', 'LineWidth', 1.5); prob_freq = 3; X1 = 1:prob_freq:width(X); Y1 = Y(X1); plot(X1, Y1, 'or', 'LineWidth', 1.5); [~, Yr] = sinc_inter(Y1, prob_freq); % Xr powinien być równy X. plot(X,Yr, '--b', 'LineWidth', 1.5); [~, Ye] = e_inter(Y1, prob_freq); plot(X,Ye, ':m', 'LineWidth', 1.5); grid on; %plot([10 10], [-1.5 1.5], '--k', 'LineWidth', 2); %plot([70 70], [-1.5 1.5], '--k', 'LineWidth', 2); xlabel("t"); ylabel("A"); legend('Sygnał wejściowy', 'Punkty pomiaru', 'sinc-inter', 'e-inter'); disp("sinc_inter max abs error:"); disp(max(abs(Y(10:70)-Yr(10:70)))); disp("sinc_inter mean abs error:"); disp(mean(abs(Y(10:70)-Yr(10:70)))); disp("sinc_inter median abs error:"); disp(median(abs(Y(10:70)-Yr(10:70)))); disp("e_inter max abs error:"); disp(max(abs(Y(10:70)-Ye(10:70)))); disp("e_inter mean abs error:"); disp(mean(abs(Y(10:70)-Ye(10:70)))); disp("e_inter median abs error:"); disp(median(abs(Y(10:70)-Ye(10:70))));