Praktická cvičení z Numerické matematiky
Soustavy lineárních a nelineárních algebraických rovnic - 4. týden
- Metoda nejmenších čtverců - lineární polynom
x = [ -2 -1 -1 0 0 0 1 2 3 ]';
y = [ 0.2 0.5 0.6 1 1.2 0.9 1.5 1.3 2]';
n = length(x);
A = [ones(n, 1), x];
AA = (A' * A),
b = A' * y;
aa = AA \ b;
Zobrazeni dat a optimalniho polynomu
xx = (-2:0.001:3)';
yy = aa(1) + xx * aa(2);
plot(x, y, 'ko', xx, yy , 'b-');
Metoda nejmenších čtverců - kvadratický polynom
x = [ -2 -1 -1 0 0 0 1 2 3 ]';
y = [ 0.2 0.5 0.6 1 1.2 0.9 1.5 1.3 2]';
n = length(x);
A = [ones(n, 1), x, x.^2];
AA = (A' * A),
b = A' * y;
aa = AA \ b;
Zobrazeni dat a optimalniho kvadratickeho polynomu
xx = (-2:0.001:3)';
yy = aa(1) + xx * aa(2) + aa(3) * xx.^2;
plot(x, y, 'ko', xx, yy , 'b-');
Příklad 4.5: Metoda nejmenších čtverců pro velká data
cviceni4.dat
f = load('cviceni4.dat'); x = f(:,1); y = f(:,2);
n = length(x);
A = [ones(n, 1), x, x.^2, x.^3];
AA = (A' * A),
b = A' * y;
aa = AA \ b;
Zobrazeni dat a optimalniho polynomu stupne nejvysse 3 (srovnejte s polynomem stupne nejvyse 2, 1)
xx = (18:0.001:75)';
yy = aa(1) + xx * aa(2) + aa(3) * xx.^2 + aa(4) * xx.^3;
plot(x, y, 'ko', xx, yy , 'b-');