Python

Polynomilaskentaa

Polynomit on elämän suola. Tietokoneelle polynomi voidaan kirjoittaa esim. Px = 3*x^2 - 2*x +1 ja Qx = -2*x^3 +x. Lasketaan ne:

for x in range(3,10):
	Px = 3*x^2 - 2*x +1
	Qx = -2*x^3 +x

	print( f"P({x}) = {Px} \t \t Q({x}) = {Qx}" )

Käsky range(3,10) tekee listan luvuista 3, 4, 5, 6, 7, 8 ja 9. Silmukka for käy sen läpi. Tulostus eli print()-lause on mielenkiintoinen, mutta ei vaikea. Mieti sitä. Sana \t on tabulaattori eli sarkain.

Polynomin kuvaaja

Polynomit ovat kivoja ja hauskan näköisiä. Piirretään polynomi P(x) = -2x^3 - 2x^2 + 2x +2. Käytetään hieman yksinkertaistettuja asioita, joten meidän tarvitsee antaa Pythonille ainoastaan tieto polynomin kertoimista asteen mukaisessa järjestyksessä (hahaa; näitä harjoiteltiin tunnilla — ei turhaan, siis).

numpy on matemaattinen kirjasto ja matplotlib on tulostamiseen käytetty kirjasto.

Ensin määrätään x, eli sanotaan että se kulkee -2:sta 2:een yhteensä 50 pistettä. Funtkio poly1d laskee y:n arvot. Sitten se vain piirretään.

Pinnan piirtäminen

Matikantunnilla joudumme jäämään 1-ulotteisiin kuvioihin, mutta täällä minä, Python, kontrolloin ja saan näyttää kaksiulotteisen funktion eli pinnan. Nyt tulostetaan z-suuntaan pinta, kun x ja y muuttuvat.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-5, 5, 0.25)
y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(x, y)
#F = 3 + 2*X + 4*X*Y + 5*X*X
F = X*X - Y*Y

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, F)
plt.show()

Tehtäviä

1. Laske polynomien Px ja Qx summa ja tulosta se.

2. Laske kirjan tehtäviä.

3. Kysy x = input()-käskyllä missä pisteessä polynomi lasketaan ja kerro vastaus.

4. Piirrä kuvaajia erilaista polynomeista. Yritä etsiä nollakohtia.