<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FZadania_dodatkowe</id>
	<title>TI/Zadania dodatkowe - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FZadania_dodatkowe"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Zadania_dodatkowe&amp;action=history"/>
	<updated>2026-05-01T14:34:40Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Zadania_dodatkowe&amp;diff=1670&amp;oldid=prev</id>
		<title>Jarekz: /* Znajdowanie miejsca zerowego funkcji */</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Zadania_dodatkowe&amp;diff=1670&amp;oldid=prev"/>
		<updated>2015-05-22T21:07:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Znajdowanie miejsca zerowego funkcji&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 21:07, 22 maj 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Linia 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Znajdowanie miejsca zerowego funkcji ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Znajdowanie miejsca zerowego funkcji ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wyznaczyć pierwiastek równania &amp;lt;math&amp;gt;x^3 - x + 1 = 0&amp;lt;/math&amp;gt; w przedziale [−2;2] metodą [http://pl.wikipedia.org/wiki/Metoda_bisekcji bisekcji]. Kolejne kroki algorytmu zilustrować serią wykresów analogicznie do poniższego przykładu.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wyznaczyć pierwiastek równania  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;math&amp;gt;x^3 - x + 1 = 0&amp;lt;/math&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;w przedziale [−2;2] metodą [http://pl.wikipedia.org/wiki/Metoda_bisekcji bisekcji]. Kolejne kroki algorytmu zilustrować serią wykresów analogicznie do poniższego przykładu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[...przykład...]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[...przykład...]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Zadania_dodatkowe&amp;diff=1669&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot;=Zadania z rysowania i dopasowania funkcji =  == Znajdowanie miejsca zerowego funkcji == Wyznaczyć pierwiastek równania &lt;math&gt;x^3 - x + 1 = 0&lt;/math&gt; w przedziale [−2...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Zadania_dodatkowe&amp;diff=1669&amp;oldid=prev"/>
		<updated>2015-05-22T21:05:45Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;=Zadania z rysowania i dopasowania funkcji =  == Znajdowanie miejsca zerowego funkcji == Wyznaczyć pierwiastek równania &amp;lt;math&amp;gt;x^3 - x + 1 = 0&amp;lt;/math&amp;gt; w przedziale [−2...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Zadania z rysowania i dopasowania funkcji =&lt;br /&gt;
&lt;br /&gt;
== Znajdowanie miejsca zerowego funkcji ==&lt;br /&gt;
Wyznaczyć pierwiastek równania &amp;lt;math&amp;gt;x^3 - x + 1 = 0&amp;lt;/math&amp;gt; w przedziale [−2;2] metodą [http://pl.wikipedia.org/wiki/Metoda_bisekcji bisekcji]. Kolejne kroki algorytmu zilustrować serią wykresów analogicznie do poniższego przykładu.&lt;br /&gt;
&lt;br /&gt;
[...przykład...]&lt;br /&gt;
&lt;br /&gt;
==Wczytywanie danych i wykres ==&lt;br /&gt;
W tym zadaniu analizujemy fragment wyników eksperymentu dotyczącego pomiaru stałej Stefana-Boltzmanna. W eksperymencie tym walec polerowany i okopcony podgrzewane są grzałkami dostarczającymi jednakową moc każdemu z nich. Dla pewnej temperatury walców ustala się równowaga pomiędzy ilością energii dostarczanej przez grzałkę a ilością energii wypromieniowywanej przez walec. Temperatura ta jest zależna od współczynnika promieniowania ciała. Jak można się domyśleć, ciało, które promieniuje więcej, będzie mieć niższą temperaturę przy tej samej mocy dostarczanej przez grzałkę.&lt;br /&gt;
&lt;br /&gt;
Plik [[Plik:Seria_I.txt]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 [http://brain.fuw.edu.pl/~jarek/seria_I.txt seria_I.txt]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
zawiera trzy kolumny danych. Dane te to odpowiednio: kolejne chwile czasu (mierzonego w minutach) oraz pomiary temperatury walca polerowanego i okopconego. &lt;br /&gt;
&lt;br /&gt;
Proszę:&lt;br /&gt;
* zapisać plik w bieżącym katalogu;&lt;br /&gt;
* korzystając z funkcji dostępnych w module pylab wykreślić dane tak aby uzyskać rysunek analogiczny do poniższego:&lt;br /&gt;
[[Plik:StalaBoltzmana_Rys1.png]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
import numpy as np&lt;br /&gt;
import pylab as py&lt;br /&gt;
&lt;br /&gt;
a = np.loadtxt('seria_I.txt')&lt;br /&gt;
t = a[:,0]&lt;br /&gt;
Tp = a[:,1]&lt;br /&gt;
Tc = a[:,2]&lt;br /&gt;
&lt;br /&gt;
py.plot(t,Tp,'bx')&lt;br /&gt;
py.plot(t,Tc,'g+')&lt;br /&gt;
py.legend(('polerowany','okopcony'),'center right')&lt;br /&gt;
py.xlabel('t[min]')&lt;br /&gt;
#py.ylabel(r&amp;quot;$ \mathrm{T[} ^\circ \mathrm{C]}$&amp;quot;)&lt;br /&gt;
py.ylabel(u&amp;quot;T[°C]&amp;quot;)&lt;br /&gt;
py.show()&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dopasowywanie krzywej do danych i wykres ==&lt;br /&gt;
W poprzednim zadaniu rozważaliśmy dochodzenie walców do równowagi termicznej. Proces ten teoretycznie powinien przebiegać w czasie zgodnie z funkcją: &amp;lt;math&amp;gt;T(t) = T_R + A e^{-\frac{t}{\tau}},&amp;lt;/math&amp;gt;&lt;br /&gt;
gdzie: &amp;lt;math&amp;gt; T_R&amp;lt;/math&amp;gt; &amp;amp;mdash; temperatura równowagi, &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; &amp;amp;mdash; pewien parametr, &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt; &amp;amp;mdash; stała czasowa dochodzenia do równowagi. Te trzy wartości nazywamy parametrami poszukiwanej funkcji. Mając zebrane punkty doświadczalne, czyli zestaw wartości ''t'' i ''T''(''t''), możemy spróbować z nich wyznaczyć nieznane parametry ''T&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;'', ''A'' oraz &amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt;. Procedurę taką nazywamy dopasowaniem krzywej do punktów doświadczalnych.&lt;br /&gt;
&lt;br /&gt;
Poniższe wskazówki pokazują jak uzyskać pożądane wyniki dla walca polerowanego.&lt;br /&gt;
Do danych z poprzedniego zadania proszę rozwinąć przykładowy kod tak aby  dla walca czarnego:&lt;br /&gt;
* dopasować krzywą opisaną powyższym równaniem;&lt;br /&gt;
* wypisać wartości otrzymanych parametrów i ich standardowe odchylenia;&lt;br /&gt;
* wykreślić otrzymane krzywe teoretyczne na tle punktów z zaznaczonymi błędami tak jak przedstawia to poniższy rysunek:&lt;br /&gt;
&lt;br /&gt;
[[Plik:StalaBoltzmana_rys2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Wskazówki ===&lt;br /&gt;
Ponieważ zagadnienia dopasowywania parametrów krzywych wybiegają poza zakres materiału tych ćwiczeń, poniżej podajemy kody przydatnych do tego celu funkcji. Generalnie metoda polega na takim modyfikowaniu wartości dopasowywanych parametrów, aby zminimalizować rozbieżność pomiędzy &lt;br /&gt;
wartościami funkcji obliczonymi ze wzoru teoretycznego a odpowiadającymi im wartościami zmierzonymi w eksperymencie. Rozbieżność tę (w postaci sumy kwadratów różnic w każdym punkcie doświadczalnym) oblicza w poniższym kodzie funkcja &amp;lt;tt&amp;gt;funkcja_bledu&amp;lt;/tt&amp;gt;, zaś za odpowiednie modyfikacje parametrów, prowadzące do zmniejszenia sumy kwadratów rozbieżności, odpowiada funkcja &amp;lt;tt&amp;gt;leastsq&amp;lt;/tt&amp;gt; z modułu &amp;lt;tt&amp;gt;scipy.optimize&amp;lt;/tt&amp;gt;. Funkcja ta jest wykorzystywana wewnątrz funkcji &amp;lt;tt&amp;gt;dopasuj&amp;lt;/tt&amp;gt; w poniższym kodzie. Funkcja &amp;lt;tt&amp;gt;dopasuj&amp;lt;/tt&amp;gt; zwraca krotkę zawierającą tablicę dopasowanych parametrów i tablicę odpowiadających im standardowych odchyleń.&lt;br /&gt;
&lt;br /&gt;
Postać zależności teoretycznej zapisujemy w osobnej funkcji. W podanym poniżej przykładzie jest to &amp;lt;tt&amp;gt;moja_fun&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import numpy as np&lt;br /&gt;
import pylab as py&lt;br /&gt;
&lt;br /&gt;
################## definicje potrzebne do dopasowania ################&lt;br /&gt;
import scipy.optimize as opt&lt;br /&gt;
def funkcja_bledu( b, x, y, err,funkcja):&lt;br /&gt;
    '''Suma kwadratów tej funkcji jest minimalizowana w&lt;br /&gt;
    procesie optymalizacji parametrów'''&lt;br /&gt;
    y_fit = funkcja(b, x) &lt;br /&gt;
    residuum = y-y_fit &lt;br /&gt;
    residuum_wazone = residuum / err &lt;br /&gt;
    return residuum_wazone&lt;br /&gt;
&lt;br /&gt;
def dopasuj(x,y,err,b_init,fun):&lt;br /&gt;
    '''&lt;br /&gt;
    funkcja fun definiuje pewną zależność między x i y: y = fun(x;b),&lt;br /&gt;
    która zależy od pewnych parametrów b. Zakładamy, że wartości y znane są&lt;br /&gt;
    z błędem err. b_init zawiera początkowe zgadnięte (np. przez popatrzenie na wykres)&lt;br /&gt;
    wartości parametrów b.&lt;br /&gt;
    Funkcja dopasuj znajduje wartości parametrów b, dla których suma kwadratów wartości&lt;br /&gt;
    funkcji dopasowanej i wartości zmierzonej dla danego x_i jest najmniejsza.&lt;br /&gt;
&lt;br /&gt;
    UWAGA: Jak większość procedur minimalizacyjnych, używana w tej funkcji procedura&lt;br /&gt;
    jest wrażliwa na punkt startowy, tzn. dla różnych wartości startowych b_init&lt;br /&gt;
    możemy dostać różne rozwiązania &lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    out = opt.leastsq(funkcja_bledu, b_init, args=(x,y,err,fun), full_output=1)&lt;br /&gt;
&lt;br /&gt;
    # funkcja opt.leastsq tak zmienia parametry b &lt;br /&gt;
    # aby suma kwadratów wartości zwracanych przez funkcja_bledu była jak najmniejsza&lt;br /&gt;
&lt;br /&gt;
    # odczytujemy wyniki minimalizacji&lt;br /&gt;
    b_final = out[0]&lt;br /&gt;
    covar = out[1]&lt;br /&gt;
    std_b = (np.diag(covar))**0.5 &lt;br /&gt;
    return (b_final, std_b)&lt;br /&gt;
&lt;br /&gt;
####################################################################&lt;br /&gt;
&lt;br /&gt;
def moja_fun(b,t):&lt;br /&gt;
    T = b[0] + b[1]*np.exp(-t/b[2])&lt;br /&gt;
    return T&lt;br /&gt;
&lt;br /&gt;
# wczytanie danych ...&lt;br /&gt;
a = np.loadtxt('seria_I.txt')&lt;br /&gt;
t = a[:,0]&lt;br /&gt;
Tp = a[:,1]&lt;br /&gt;
Tc = a[:,2]&lt;br /&gt;
sigma = 1.5&lt;br /&gt;
&lt;br /&gt;
# DOPASOWANIE DLA WALCA POLEROWANEGO&lt;br /&gt;
# musimy podać wartości startowe dla procedury minimalizacji &lt;br /&gt;
b_init = [300.0, -1.0, 10.0]&lt;br /&gt;
(parametry_p, std_bl)=dopasuj(t,Tp,sigma,b_init,moja_fun)&lt;br /&gt;
print 'temperatura równowagi: ', parametry_p[0],'jej standardowe odchylenie:', std_bl[0]&lt;br /&gt;
&lt;br /&gt;
# TERAZ WYKONUJEMY ANALOGICZNE DOPASOWANIE DLA WALCA CZARNEGO ...&lt;br /&gt;
# ...&lt;br /&gt;
&lt;br /&gt;
# RYSUNEK&lt;br /&gt;
wp = py.errorbar(t,Tp, yerr=sigma, fmt='b.')&lt;br /&gt;
fp = py.plot(t,moja_fun(parametry_p,t))&lt;br /&gt;
&lt;br /&gt;
# ....&lt;br /&gt;
&lt;br /&gt;
py.legend((wp[0],fp,wc[0],fc),('polerowany','dopasowana pol.','okopcony','dopasowana okopc.'),'center right')&lt;br /&gt;
&lt;br /&gt;
# ....&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import numpy as np&lt;br /&gt;
import pylab as py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
################## definicje potrzebne do dopasowania ################&lt;br /&gt;
import scipy.optimize as opt&lt;br /&gt;
def funkcja_bledu( b, x, y, err,funkcja):&lt;br /&gt;
    '''Suma kwadratów tej funkcji jest minimalizowana w&lt;br /&gt;
    procesie optymalizacji parametrów'''&lt;br /&gt;
    y_fit = funkcja(b, x) &lt;br /&gt;
    residuum = y-y_fit &lt;br /&gt;
    residuum_wazone = residuum / err &lt;br /&gt;
    return residuum_wazone&lt;br /&gt;
&lt;br /&gt;
def dopasuj(x,y,err,b_init,fun):&lt;br /&gt;
    '''&lt;br /&gt;
    funkcja fun definiuje pewną zależność między x i y: y = fun(x;b),&lt;br /&gt;
    która zależy od pewnych parametrów b. Zakładamy, że wartości y znane są&lt;br /&gt;
    z błędem err. b_init zawiera początkowe zgadnięte (np. przez popatrzenie na wykres)&lt;br /&gt;
    wartości parametrów b.&lt;br /&gt;
    Funkcja dopasuj znajduje wartości parametrów b, dla których suma kwadratów wartości&lt;br /&gt;
    funkcji dopasowanej i wartości zmierzonej dla danego x_i jest najmniejsza.&lt;br /&gt;
&lt;br /&gt;
    UWAGA: Jak większość procedur minimalizacyjnych, używana w tej funkcji procedura&lt;br /&gt;
    jest wrażliwa na punkt startowy, tzn. dla różnych wartości startowych b_init&lt;br /&gt;
    możemy dostać różne rozwiązania &lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    out = opt.leastsq(funkcja_bledu, b_init, args=(x,y,err,fun), full_output=1)&lt;br /&gt;
    # funkcja opt.leastsq tak zmienia parametry b &lt;br /&gt;
    # aby suma kwadratów wartości zwracanych przez funkcja_bledu była jak najmniejsza&lt;br /&gt;
&lt;br /&gt;
    # odczytujemy wyniki minimalizacji&lt;br /&gt;
    b_final = out[0]&lt;br /&gt;
    covar = out[1]&lt;br /&gt;
    return (b_final, (np.diag(covar))**0.5)&lt;br /&gt;
&lt;br /&gt;
####################################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def moja_fun(b,t):&lt;br /&gt;
    T = b[0] + b[1]*np.exp(-t/b[2])&lt;br /&gt;
    return T&lt;br /&gt;
&lt;br /&gt;
a = np.loadtxt('seria_I.txt')&lt;br /&gt;
t = a[:,0]&lt;br /&gt;
Tp = a[:,1]&lt;br /&gt;
Tc = a[:,2]&lt;br /&gt;
sigma = 1.5&lt;br /&gt;
&lt;br /&gt;
# DOPASOWANIE DLA WALCA POLEROWANEGO&lt;br /&gt;
# musimy podać wartości startowe dla procedury minimalizacji &lt;br /&gt;
b_init = [300.0, -1.0, 10.0]&lt;br /&gt;
(parametry_p, std_bl)=dopasuj(t,Tp,sigma,b_init,moja_fun)&lt;br /&gt;
print 'temperatura równowagi: ', parametry_p[0],'jej standardowe odchylenie:', std_bl[0]&lt;br /&gt;
&lt;br /&gt;
# TERAZ WYKONUJEMY ANALOGICZNE DOPASOWANIE DLA WALCA CZARNEGO&lt;br /&gt;
b_init = [160.0, -1.0, 100.0]&lt;br /&gt;
(parametry_c, std_bl)=dopasuj(t,Tc,sigma,b_init,moja_fun)&lt;br /&gt;
print 'temperatura równowagi czarnego: ', parametry_c[0],'jej standardowe odchylenie:', std_bl[0]&lt;br /&gt;
&lt;br /&gt;
# RYSUNEK&lt;br /&gt;
wp = py.errorbar(t,Tp, yerr=sigma, fmt='b.')&lt;br /&gt;
fp = py.plot(t,moja_fun(parametry_p,t))&lt;br /&gt;
wc = py.errorbar(t,Tc, yerr=sigma, fmt='g.')&lt;br /&gt;
fc = py.plot(t,moja_fun(parametry_c,t))&lt;br /&gt;
py.legend((wp[0],fp,wc[0],fc),('polerowany','dopasowana pol.','okopcony','dopasowana okopc.'),'center right')&lt;br /&gt;
py.xlabel('t[min]')&lt;br /&gt;
#py.ylabel(r&amp;quot;$ \mathrm{T[} ^\circ \mathrm{C]}$&amp;quot;)&lt;br /&gt;
py.ylabel(u&amp;quot;T[°C]&amp;quot;)&lt;br /&gt;
py.show()&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>