Добавил:
Кафедра ВТ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 лаба

.m
Скачиваний:
10
Добавлен:
08.02.2022
Размер:
1.16 Кб
Скачать
a = -1;
b = 1;
n = 40;
x = sort(a + (b - a) * rand(n, 1));
i = 1 : n;
f = asin(x);
gnoise = f .* randn(size(f));
y = f + gnoise;

A = [x ones(n, 1)];
B = y;
px = (A' * A) \ (A' * B);

line = x * px(1) + px(2);
e1 = sum((y - line).^2);

A = [x.^2 x ones(n, 1)];
px = (A' * A) \ (A' * B);

parabola = x.^2 * px(1) + x * px(2) + px(3);
e2 = sum((y - parabola).^2);

A = [x.^3 x.^2 x ones(n, 1)];
px = (A' * A) \ (A' * B);

cub = x.^3 * px(1) + x.^2 * px(2) + x * px(3) + px(4);
e3 = sum((y - cub).^2);

A = [x.^4 x.^3 x.^2 x ones(n, 1)];
px = (A' * A) \ (A' * B);

quadr = x.^4 * px(1) + x.^3 * px(2) + x.^2 * px(3) + x * px(4) + px(5);
e4 = sum((y - quadr).^2);

A = [x.^5 x.^4 x.^3 x.^2 x ones(n, 1)];
px = (A' * A) \ (A' * B);

five = x.^5 * px(1) + x.^4 * px(2) + x.^3 * px(3) + x.^2 * px(4) + x * px(5) + px(6);
e5 = sum((y - five).^2);

subplot(2, 1, 1);
hold on
scatter(x, y, 20, 'filled');
plot(x, line);
plot(x, parabola);
plot(x, cub);
plot(x, quadr);
plot(x, five);
hold off
subplot(2, 1, 2);
hold on
scatter(2, e1);
scatter(3, e2);
scatter(4, e3);
scatter(5, e4);
scatter(6, e5);
hold off
Соседние файлы в предмете Компьютерная математика