<?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%2FSkrypty_z_zaj%C4%99%C4%87%2Fkz4-6</id>
	<title>TI/Skrypty z zajęć/kz4-6 - 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%2FSkrypty_z_zaj%C4%99%C4%87%2Fkz4-6"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz4-6&amp;action=history"/>
	<updated>2026-04-23T01:04:20Z</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/Skrypty_z_zaj%C4%99%C4%87/kz4-6&amp;diff=8350&amp;oldid=prev</id>
		<title>Tgub: Utworzono nową stronę &quot;&lt;source lang=&quot;python&quot;&gt; # -*- coding: utf-8 -*- &quot;&quot;&quot; Created on Tue May 19 11:03:13 2020  @author: Tomek &quot;&quot;&quot;  ''' Zadanie 4. Dopisz w klasie Wielomian (omawianej na zajęc...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz4-6&amp;diff=8350&amp;oldid=prev"/>
		<updated>2020-05-19T11:54:58Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Tue May 19 11:03:13 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  &amp;#039;&amp;#039;&amp;#039; Zadanie 4. Dopisz w klasie Wielomian (omawianej na zajęc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue May 19 11:03:13 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 4.&lt;br /&gt;
Dopisz w klasie Wielomian (omawianej na zajęciach) metodę &amp;quot;pochodna&amp;quot; &lt;br /&gt;
która zwraca Wielomian odpowiadający pochodnej danego Wielomianu (self).&lt;br /&gt;
&lt;br /&gt;
Zadanie 5.&lt;br /&gt;
Dopisz do klasy Wielomian metodę &amp;quot;calka&amp;quot; zwracającą Wielomian &lt;br /&gt;
(nazwijmy go chwilowo w) odpowiadający całce nieoznaczonej z danego Wielomianu. &lt;br /&gt;
Przyjmijmy w(0) = 0.&lt;br /&gt;
&lt;br /&gt;
Zadanie 6.&lt;br /&gt;
W klasie Wielomian zaimplementuj operator mnożenia wielomianów.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
class Wielomian():&lt;br /&gt;
    def __init__(self,*args):&lt;br /&gt;
        self.__a = args&lt;br /&gt;
        self.__n = len(args)&lt;br /&gt;
        &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        if self.__n&amp;gt;0:&lt;br /&gt;
            wynik = str(self.__a[0])&lt;br /&gt;
            for i in range(1,self.__n):&lt;br /&gt;
                wynik += ' + ' + str(self.__a[i]) + '*x^' + str(i)&lt;br /&gt;
            return wynik&lt;br /&gt;
        return '0'&lt;br /&gt;
    &lt;br /&gt;
    def __call__(self, x):&lt;br /&gt;
        return sum([self.__a[i] * x**i for i in range(self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        wynik = np.zeros(max(self.__n, other.__n))&lt;br /&gt;
        &lt;br /&gt;
        for i in range(self.__n):&lt;br /&gt;
            wynik[i] += self.__a[i]&lt;br /&gt;
        &lt;br /&gt;
        for i in range(other.__n):&lt;br /&gt;
            wynik[i] += other.__a[i]&lt;br /&gt;
        &lt;br /&gt;
        return Wielomian(*tuple(wynik))&lt;br /&gt;
    &lt;br /&gt;
    #Zadanie 4&lt;br /&gt;
    def pochodna(self):&lt;br /&gt;
        return Wielomian(*[i*self.__a[i] for i in range(1,self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    #Zadanie 5&lt;br /&gt;
    def calka(self):&lt;br /&gt;
        return Wielomian(0,*[self.__a[i]/(i+1) for i in range(self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
#    def __mul__(self, other):&lt;br /&gt;
#        wynik = np.zeros(self.__n + other.__n - 1)&lt;br /&gt;
#        for i in range(self.__n):&lt;br /&gt;
#            for j in range(other.__n):&lt;br /&gt;
#                #(self.__a[i] * x^i )*(other.__a[j] * x^j ) = self.__a[i]*other.__a[j] * x^(i+j)&lt;br /&gt;
#                wynik[i+j] += self.__a[i]*other.__a[j]&lt;br /&gt;
#        return Wielomian(*wynik)&lt;br /&gt;
&lt;br /&gt;
    #Zadanie 6 - splot&lt;br /&gt;
    def __mul__(self, other):&lt;br /&gt;
        #print(np.outer(self.__a,other.__a))&lt;br /&gt;
        a = np.outer(self.__a,other.__a)[:,::-1]&lt;br /&gt;
        return Wielomian(*[a.trace(i) for i in range(other.__n-1,-self.__n,-1)]) #[2,1,0,-1]]&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
w1 = Wielomian(3,4)&lt;br /&gt;
w2 = Wielomian(2,1)&lt;br /&gt;
&lt;br /&gt;
#      (3  ,  4)&lt;br /&gt;
# (2)   6     8&lt;br /&gt;
# (1)   3     4&lt;br /&gt;
&lt;br /&gt;
#        6 + (3+8)* x^1 + 4 * x^2&lt;br /&gt;
&lt;br /&gt;
print(w1)&lt;br /&gt;
print(w2)&lt;br /&gt;
print(w2*w1)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
#w1 = Wielomian(1,20,3,4)&lt;br /&gt;
&lt;br /&gt;
#1 + 2*x^1 + 3*x^2 + 4*x^3 -&amp;gt;(1,20,3,4)&lt;br /&gt;
#                            (0,1,2,3)&lt;br /&gt;
#pochodna to:&lt;br /&gt;
#20*1 + 3*2*x^1 + 4*3*x^2 -&amp;gt; (20,6,12)&lt;br /&gt;
#&lt;br /&gt;
#calka to:                (a,b,c,d,e)&lt;br /&gt;
#                         (0,1,2,3,4)&lt;br /&gt;
&lt;br /&gt;
#                         (b,2*c,3*d,4*e) = (1,20,3,4)&lt;br /&gt;
# b=1, c=20/2 d = 3/3, e = 4/4  &lt;br /&gt;
# (0,1,10,1,1)                       &lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
</feed>