listingi demo całkowanie numeryczne

Nasza ocena:

4
Pobrań: 14
Wyświetleń: 518
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
listingi demo całkowanie numeryczne - strona 1

Fragment notatki:


% m-plik skryptowy: calkowane_numeryczne.m %
% Badamy zaleznosc bledu od liczby punktow na zadanym odcinku;
%
% Techniki obliczeniowe, dr inż. P.Korohoda, rok akademicki 2010/2011
clc; clear; close all;
% zakladamy przepis na funkcje w postaci: y=f(x)=3x^2-x+2;
% wybieramy granice przedziału:
xa=-3; xb=4;
% wyliczamy calke wedlug wiedzy teoretycznej:
C_ref=(xb^3-0.5*xb^2+2*xb)-(xa^3-0.5*xa^2+2*xa),
N=3:12; % liczba rownomiernie rozmieszczonych punktow na zadanym odcinku;
k=0;
for n=N,
k=k+1;
h=(xb-xa)/(n-1); % odstep miedzy punktami;
x=xa:h:xb;
y=3*x.^2-x+2;
C(k)=( sum(y(2:end-1))+0.5*sum(y([1,end])) )*h; % wzor wedlug metody trapezow;
err_ref(k)=6*(xb-xa)^3/n^2; % oszacowanie zmian błedu w zaleznosci od dlugosci przedzialu % i ilosci punktow oraz drugiej pochodnej w zadanym przedziale;
if k==1, x1=x; y1=y ;end;
if n==N(end), x2=x; y2=y ;end;
end; figure(1);
subplot(2,1,1);
plot(x1,y1,'r.-'); grid on; hold on;
plot(x2,y2,'b.-');
title('wykresy trapezow na poczatku i na koncu petli');
legend(['n=',num2str(N(1))],['n=',num2str(N(end))],4); % ta "4"na koncu daje lepsza lokalizacje opisu (w tym przypadku!);
subplot(2,1,2);
plot(N,abs(C-C_ref),'ro-'); grid on; hold on;
plot(N,err_ref,'bo-');
title('wykresy bledow wyliczonej calki');
legend('blad z eksperymentu','oszacowanie zmian bledu');
% KONIEC PLIKU
% m-plik skryptowy: ruch_harmoniczny.m %
% Animacja symulujaca ruch harmoniczny
%
% Techniki obliczeniowe, dr inż. P.Korohoda, rok akademicki 2010/2011
clc; clear; close all;
dt=0.1;
h=dt;
k=0.01;
m=0.1;
x0=[1;1];
figure(1);
for n=1:1000;
k1=h*f_ruch_harmoniczny(0,x0,k,m);
k2=h*f_ruch_harmoniczny(h/2,x0+k1/2,k,m);
x=x0+k2;
pause(dt); clf;
plot(x(1),0,'ro','markerface','k'); grid on;
axis([-5,5,-1,1]);
x0=x; end;
% KONIEC PLIKU
function dx=f_ruch_harmoniczny(t,x0,k,m); % dx=f_ruch_harmoniczny(t,x0,k,m); % ... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz