metody numeryczne 10 Różniczkowanie, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne


on

0x01 graphic

POLITECHNIKA

WROCŁAWSKA

Wydział Elektryczny

Imię i nazwisko:

Łukasz Gabor

Nr indeksu

148039

Rok ak. 2008/2009

Rok 3

Semestr 6 /letni/

Laboratorium metod numerycznych

Data ćwiczenia:

12.05.2009 r

Temat: Różniczkowanie

Ocena:

1. Cel ćwiczenia

Celem ćwiczenia jest zapoznanie się z metodami różniczkowania numerycznego oraz z oceną dokładności tych metod.

Do badania zagadnienia różniczkowania numerycznego użyto funkcji w postaci:

0x01 graphic

Gdzie:

h= 0,005 s

0x01 graphic

y(0)=0;

y(1)=0;

2. Różniczkowanie

Wyraża się wzorem:

0x01 graphic

Po przekształceniach nasz wzór ma postać:

0x01 graphic

Wyraża się wzorem:

0x01 graphic

Po przekształceniach nasz wzór ma postać:

0x01 graphic

Wyraża się wzorem:

0x01 graphic

Po przekształceniach nasz wzór ma postać:

0x01 graphic

Wywołujemy ją w głównym oknie Matlaba poleceniem:

[t,y]=ode45('funkcja_rozniczkowanie',t,0)

SIMULINK

Korzystamy z metod:

ODE1 - w tym celu w oknie symulacji wybieramy w pasku type Fixed-step

ODE23t - w tym celu w oknie symulacji wybieramy w pasku type Variable- step

0x08 graphic
0x01 graphic

Rys.1 Schemat równania różniczkowego w SIMULINKU

M-plik programu:

%różniczkowanie

clear all

close all

clc

h=0.005;

t1=0;

t2=1;

t=t1:h:t2;

%dy/dt=t^2-0.5*y

y1=0;

y2=0;

y3=0;

%metoda niejawna

for k=2:length(t)

y1(k)=(y1(k-1)+t(k)^2*h)/(1+0.5*h);

end

metoda_niejawna=y1(k)

figure

plot(t,y1,'k')

hold on

%metoda jawna

for k=2:length(t)

y2(k)=y2(k-1)+h*((t(k))^2-0.5*y2(k-1));

end

metoda_jawna=y2(k)

plot(t,y2,'r')

hold on

%metoda trapezów

for k=2:length(t)

y3(k)=(y3(k-1)*(1-0.25*h)+h*(t(k))^2)/(1+0.25*h);

end

metoda_trapezow=y3(k)

plot(t,y3,'g')

%metoda ODE45

[T,Y]=ode45('F',t,0);

ode45=Y(k)

plot(T,Y,'b')

grid on

legend('m. niejawna','m. jawna','m. trapezów','m. ode45','Ode1','Ode23t')

M-plik F:

function dy=F(t,y)

dy=(t).^2-0.5.*(y);

end

Wyniki:

metoda_niejawna = 0.29731415385153

metoda_jawna = 0.29797173396518

metoda_trapezow = 0.29764258184623

funkcja_ODE45 = 0.29550944470147

SIMULINK:

ODE1 = 0.29370599896259

ODE23t = 0.29554446636814

0x01 graphic

Rys.2 Wykresy funkcji otrzymane w wyniku operacji różniczkowania dla różnych metod

0x01 graphic

Rys.3 Wykresy funkcji otrzymane w wyniku operacji różniczkowania dla różnych metod

przedstawione w zbliżeniu

3. Wnioski

Wszystkie przedstawione metody numeryczne liczenia równań różniczkowych działają poprawnie, o czym świadczy porównanie wyników z rozwiązaniem programowym standardowej funkcji Matlaba ODE45. Błędy pojawiają się dopiero na trzecim miejscu po przecinku.

Należy zauważyć, że w metodzie niejawnej i trapezów trzeba najpierw przekształcić nasze równanie do odpowiadającej postaci. Pomimo, że przekształcenia te nie były karkołomne, to jednak jest to zdecydowanie wada tych metod.

Rozwiązanie zadania w SIMULINKU okazało się najmniej pracochłonne i czasochłonne. Podstawowa znajomość SIMULINKA pozwala rozwiązywać tego typu równania w szybki i nieskomplikowany sposób. Jak widać na rys.2 wyniki metody Ode1 i Ode23t są zbliżone (porównując z poprzednimi metodami mają najmniejsze błędy) do standardowej funkcji rozwiązywania równań różniczkowych Matlaba ode45.

Ciężko stwierdzić, która z przedstawionych metod jest dokładniejsza, jednak z rys.2 można zauważyć, że przebieg metody trapezów mieści się pomiędzy dwiema metodami jawną i niejawną. Co może świadczyć, że w wielu przypadkach może to być najdokładniejsza z metod, gdyż jej błąd będzie zawsze mieścił się w granicach błędów pozostałych metod, a więc nie będzie większy. Błędy można zminimalizować zmniejszając krok całkowania h, jednak zdecydowanie wydłuża to proces liczenia, szczególnie podczas rozwiązywania równań różniczkowych.

3

Clock

Clock1

Gain

0.5

Integrator

s

1

Product

Scope

To Workspace

z

y

y'



Wyszukiwarka

Podobne podstrony:
Sprawozdanie równanie różniczkowe, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
rownania nieliniowe, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczne,
Metody numeryczne 8, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
Metody sprawko calka, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
gauss sprawko, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
metody sprawko2, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
metody sprawko4, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
sprawko 2 izy, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczne, lab 2
sprawko 7 calkowanie, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
metody sprawko3, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
SPRAWKO Aitken, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
sprawko 2 moje, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne, lab 2 seidel
Metoda RK sprawko, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne
met3Robaka, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczne, lab 3 int
sprawko 7 calkowanie, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczne,
sprawko 3, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne, SPRAWKA, projekt, 3
SPRAWKO Metoda Najmniejszych Kwadratów- SVD, Automatyka i robotyka air pwr, VI SEMESTR, Metody numer
sprawko 3 interpolacja, Automatyka i robotyka air pwr, VI SEMESTR, Notatki.. z ASE, metody numeryczn
Metoda Newtona-Raphsona, Automatyka i robotyka air pwr, VI SEMESTR, Metody numeryczne

więcej podobnych podstron