POLITECHNIKA ŁÓDZKA

POLITECHNIKA ŁÓDZKA­

Imię, nazwisko, nr indeksu:

Karol Tatar 177588

Wydział: Elektryczny

Termin: poniedizałek 815-1000

LABORATORIUM METOD NUMERYCZNYCH

Temat: : „Błędy w obliczeniach numerycznych” Ocena:

Zad.1 Oblicz wartość wielomianu korzystając ze wzoru (x-1)10, oraz schematu Hornera i wzoru P10(x) = c10x10…+c2x + c1.

W celu otrzymania rozwiązania napisano następującą m-funckje:

function [y1,y2,y3]=wielomian(c,x)

for i=1:length(x)

y1(i)=(x(i)-1)^10;

y2(i)=c(1)*x(i)^10+c(2)*x(i)^9+c(3)*x(i)^8+c(4)*x(i)^7+c(5)*x(i)^6+c(6)*x(i)^5+c(7)*x(i)^4+c(8)*x(i)^3+c(9)*x(i)^2+c(10)*x(i)+c(11);

y3(i)=(((((((((c(1)*x(i)+c(2))*x(i)+c(3))*x(i)+c(4))*x(i)+c(5))*x(i)+c(6))*x(i)+c(7))*x(i)+c(8))*x(i)+c(9))*x(i)+c(10))*x(i)+c(11);

end

Z wiersza poleceń wpisano:

>> c=[1,-10,45,-120,210,-252,210,-120,45,-10,1];

>> x=linspace(0.95,1.05,100);

>> [y1,y2,y3]=wielomian(c,x)

>> figure(1)

>> plot(x,y1,'r')

>> hold on

>> grid on

>> plot(x,y2,'g')

>>plot(x,y3,’y’);

>> y4=polyval(c,x);

>> plot(x,y4,'b');

>> legend('(x-1)^{10}','c_{10}*x^{10}+..+c_{11}', 'Schemat Hornera','polyval')

>> title('Wykres przebiegu wielomianu w zalezności od zastosowanej metody')

>> title('Przebieg wielomianu w zalezności od zastosowanej metody')

>> ylabel('y')

>> xlabel('x')

Otrzymujemy następujący wykres

Zad.2 Dla funkcji f(x) = ex2 + 1 podanego x0 oraz h0 dla 40 punktów policzyć różnice centralną i progresywną. Obliczyć dokładną wartość pochodnej oraz wykresy błędów

W celu rozwiązania zadania napisano następujący m-plik.

x=0.5;

h0=0.3;

for i=1:40

h(i)=h0*2^(-i+1);

c(i)=(exp((x+h(i))^2+1)-exp((x-h(i))^2+1))/(2*h(i));

p(i)=(exp((x+h(i))^2+1)-exp(x^2+1))/(h(i));

end

prim=exp(0.25+1);

for i=1:40

ec(i)=((prim-c(i))/prim)*100;

ep(i)=((prim-p(i))/prim)*100;

end

figure(1);

loglog(h,abs(ec),'r');

hold on;

loglog(h,abs(ep),'g')

legend('\epsilon_c','\epsilon_p')

grid on;

[hop,l1]=min(log(abs(ep)));

[hoc,l2]=min(log(abs(ec)));

text(h(l1-1),exp(hop),'\leftarrow \epsilon_{pmin}');

text(h(l2-1),exp(hoc),'\leftarrow \epsilon_{cmin}');

title('Wykresy błędó dla różnicy centralnej i progresywnej');

ylabel('\epsilon');

xlabel('h_i');

fprintf('Dokładna wartości pochodnej w punkcie x_0 funkcji wynosi %.8f, przy uzyciu roznicy progresywnej dla optymalnego kroku %.8f pochodna wynosi %.8f, dla roznicy centralnej i kroku optymalnego %.8f pochodna wynosi %.8f',prim,h(l1),p(l1),h(l2),c(l2));

wart1=p(4);

wart2=p(5);

delta12=(p(5)-p(4))/5;

wart12=p(5)+delta12;

wart3=p(6);

delta23=(p(6)-p(5))/5;

wart23=p(6)+delta23;

delta13=(wart23-wart12)/17;

wart13=wart23+delta13;

display('Ekstrapolacja Richardsona dla różnicy progresywnej');

fprintf('%.8f %.8f\n',h(4),p(4))

fprintf('%.8f %.8f %.8f %.8f \n',h(5),p(5),delta12,wart12)

fprintf('%.8f %.8f %.8f %.8f %.8f %.8f \n',h(6),p(6),delta23,wart23,delta13,wart13)

cwart1=c(4);

cwart2=c(5);

cdelta12=(c(5)-c(4))/5;

cwart12=c(5)+cdelta12;

cwart3=c(6);

cdelta23=(c(6)-c(5))/5;

cwart23=c(6)+cdelta23;

cdelta13=(cwart23-cwart12)/17;

cwart13=cwart23+cdelta13;

display('Ekstrapolacja Richardsona dla różnicy centralnej')

fprintf('%.8f %.8f\n',h(4),c(4))

fprintf('%.8f %.8f %.8f %.8f \n',h(5),c(5),cdelta12,cwart12)

fprintf('%.8f %.8f %.8f %.8f %.8f %.8f \n',h(6),c(6),cdelta23,cwart23,cdelta13,cwart13)

Otrzymano następujący wykres:

Dokładna wartości pochodnej w punkcie x0 funkcji wynosi 3.49034296, przy użyciu różnicy progresywnej dla optymalnego kroku 0.00000001 pochodna wynosi 3.49034299, dla różnicy centralnej i kroku optymalnego 0.00000458 pochodna wynosi 3.49034296.

Dla trzech kolejlych wartości h tzn.:1/12,1/24,1/48, dokonano ekstrapolacji iteracyjnej Richardsona

  1. różnica progresywna

h PD(h)
$$\frac{}{2^{2} + 1}$$

$$\frac{}{2^{4} + 1}$$
1/24 3.69259760
1/48 3.58996470 -0.02052658 3.56943812
1/96 3.53978681 -0.01003557 3,52975124 -0.00233452 3.52741671

Uzyskany wynik obarczony jest błędem:


$$\varepsilon_{p} = \frac{3.52741671 - 3.49034296}{3.49034296}*100\% = 1,06218072\%$$

  1. różnica centralna

h CD(h)
$$\frac{}{2^{2} + 1}$$

$$\frac{}{2^{4} + 1}$$
1/24 3.49607396
1/48 3.49177483 -0.0010746 3.49070021
1/96 3.49070087 -0.0002147 3.49049390 -0.00001213 3.49048176

Uzyskany wynik obarczony jest błędem:


$$\varepsilon_{p} = \frac{3.49048176 - 3.49034296}{3.49034296}*100\% = 0,00397668\%$$

Wnioski

Zmień wartości w tabeli

Przelicz wartości błędów względenych


Wyszukiwarka

Podobne podstrony:
Tabelka pomiarowa do 21, BIOTECHNOLOGIA POLITECHNIKA ŁÓDZKA, CHEMIA FIZYCZNA
1.10spis treci do cigi z metro, POLITECHNIKA (Łódzka), Metrologia, 1semestr
Prawo inżynierskie i ochrona własności intelektualnych. Wykład 3, Studia, Politechnika Łódzka - Pend
obliczenia i wnioski, BIOTECHNOLOGIA POLITECHNIKA ŁÓDZKA, CHEMIA FIZYCZNA
Harmonogram 2015 TECHN, Politechnika Łódzka, Technologia Żywności i Żywienie Czlowieka, Semestr I, M
sprawozdanie z soku, POLITECHNIKA ŁÓDZKA, Technologia Żywności i Żywienia Człowieka, semestr 6, Ogól
str tytul, POLITECHNIKA ŁÓDZKA, BIOCHEMIA
enzymologia 11-15, BIOTECHNOLOGIA POLITECHNIKA ŁÓDZKA, ENZYMOLOGIA
tabeleNNN(1), Laborki Fizyka Politechnika Łódzka, W5
Politechnika Łódzka Sprawozdanie nrE Chemia Fizyczna
W2(1), Politechnika Łódzka, fizyka-sprawozdania
konsp15, BIOTECHNOLOGIA POLITECHNIKA ŁÓDZKA, CHEMIA FIZYCZNA
konspekt 53, BIOTECHNOLOGIA POLITECHNIKA ŁÓDZKA, CHEMIA FIZYCZNA
wykład4 Systemowe zarządanie wg. PN-18001, BIOTECHNOLOGIA POLITECHNIKA ŁÓDZKA, ZARZĄDZANIE BEZPIECZE
Laborki Fizyka, Laborki Fizyka Politechnika Łódzka, M6B,A

więcej podobnych podstron