Plik: binary.py
Operacje zamiany liczb zmiennoprzecinkowych dziesiętnych na binarne i odwrotnie, wraz z pokazaniem błędu podczas zamiany
* float_to_binary
: Konwertuje liczbę zmiennoprzecinkową na format binarny z precyzją określoną przez tolerancję.
* find_upper_and_lower_approximation
: Znajduje i zwraca najbliższe przybliżenia binarne (górne i dolne) danej liczby zmiennoprzecinkowej w ramach określonej tolerancji.
* binary_fraction_to_exponent
: Przekształca ułamek binarny na znormalizowaną notację naukową, zwracając mantysę i wykładnik
Skrypt oblicza i wyświetla reprezentację binarną liczby, jej przybliżenia górne i dolne oraz błąd przybliżenia dla podanej liczby zmiennoprzecinkowej z określoną tolerancją.
- Generuje i wyświetla ciąg Fibonacciego, aż do wartości mniejszej niż 1000.
- Rozwiązuje równanie kwadratowe dla podanych współczynników A, B, C.
- Obsługuje przypadki zerowego współczynnika A, negatywnej delty i innych błędów wejściowych.
- Wywołuje funkcję
pierwisatki()
i wyświetla jej wyniki. - Obsługuje błędy związane z brakiem funkcji
pierwisatki
.
- Wczytuje liczby z pliku
dane.txt
, oblicza średnią, wariancję i odchylenie standardowe. - Obsługuje błędy braku pliku, błędnych danych i dzielenia przez zero.
- Implementują specyficzne funkcje matematyczne do porównań wyników.
- Wykonuje obliczenia przy pomocy
funkcja1
ifunkcja2
dla różnych wartościx
, wyświetlając wyniki. - Obsługuje błędy związane z brakiem definicji funkcji oraz inne niespodziewane błędy.
- Oblicza
n
-ty wyraz ciągu rekurencyjnego na podstawie początkowych wartościx0
ix1
. - Obsługuje błędy związane z nieprawidłowym typem danych i wartością
n
.
- Wykonuje obliczenia dla funkcji rekurencyjnej
re
oraz wyrażenianp.pow(x, 20)
. - Obsługuje błędy definicji funkcji
re
, importunumpy
, dzielenia przez zero i innych niespodziewanych błędów.
- Wybiera i uruchamia jedną z funkcji (
zadanie1
,zadanie2
,zadanie3
,zadanie4
) na podstawie przekazanego argumentu.
Aby uruchomić skrypt z odpowiednim zadaniem, należy podać numer zadania jako argument przy uruchamianiu skryptu z wiersza poleceń:
python nazwa_skryptu.py <numer_zadania>
Interpolacja Wielomianowa i Wielomiany Czebyszewa
- Oblicza wielomian interpolacyjny Lagrange’a dla podanych punktów.
- Używana w zadaniach do przybliżenia różnych funkcji.
- Funkcja sinusoidalna do interpolacji w zadaniu 1.
3. plot_lagrange_polynomials(polynomials, x_points_sets, y_points_sets, func, func_name=r'$sin(2\pi x)$')
- Generuje wykresy porównawcze interpolacji Lagrange’a dla różnych zestawów punktów.
- Oblicza i wyświetla błąd średniokwadratowy (MSE) dla interpolacji.
- Interpolacja funkcji sinusoidalnej za pomocą wielomianu Lagrange’a z różnymi zestawami punktów.
- Zapisuje wykres do pliku
fig.png
.
- Interpolacja funkcji Rungego przy użyciu punktów równomiernie rozmieszczonych.
- Zapisuje wykres do pliku z nazwą
funkcja rungego
.
- Interpolacja funkcji "Monster Weierstrassa" (złożonej funkcji trygonometrycznej) za pomocą wielomianu Lagrange’a.
- Generowanie wykresu dla pierwszych kilku wielomianów Czebyszewa.
- Zapisuje wynikowy wykres w
czebuszew.png
.
- Interpolacja funkcji Rungego z punktami Czebyszewa (zoptymalizowanymi punktami dla lepszego przybliżenia).
- Generuje wykres interpolacji.
Skrypt pozwala na wywołanie różnych zadań przez podanie argumentu wiersza poleceń:
python nazwa_skryptu.py <numer_zadania>
Hermite i Lagrange Interpolacja
- Wykonuje interpolację Hermite’a dla danego zestawu punktów ( x, y ) oraz pochodnych ( dy ).
- Tworzy macierz różnic dzielonych i oblicza wartości funkcji na podstawie wartości węzłów i ich pochodnych.
- Oblicza błąd średniokwadratowy (MSE) między wartościami rzeczywistymi funkcji a wartościami przybliżonymi.
- Służy do oceny dokładności interpolacji.
- Funkcja główna, która:
- Definiuje funkcję ( f(x) = x^3 \cos(x) ) oraz jej pochodną.
- Generuje punkty dla interpolacji Lagrange’a i Hermite’a.
- Rysuje wykres porównawczy obu interpolacji oraz funkcji oryginalnej.
- Oblicza i wyświetla MSE dla obu metod interpolacji.
Aby uruchomić skrypt i wykonać interpolację, wystarczy użyć polecenia:
python nazwa_skryptu.py
File: binary.py
Operations for converting decimal floating-point numbers to binary and vice versa, along with demonstrating conversion error.
float_to_binary
: Converts a floating-point number to binary format with precision specified by tolerance.find_upper_and_lower_approximation
: Finds and returns the nearest binary approximations (upper and lower) for a given floating-point number within a specified tolerance.binary_fraction_to_exponent
: Transforms a binary fraction into normalized scientific notation, returning the mantissa and exponent.The script calculates and displays the binary representation of a number, its upper and lower approximations, and the approximation error for a given floating-point number with specified tolerance.
- Generates and displays the Fibonacci sequence up to values less than 1000.
- Solves a quadratic equation for given coefficients A, B, and C.
- Handles cases of zero coefficient A, negative delta, and other input errors.
- Calls the
pierwisatki()
function and displays its results. - Handles errors related to the absence of the
pierwisatki
function.
- Reads numbers from the
dane.txt
file, calculates the mean, variance, and standard deviation. - Handles errors related to file absence, incorrect data, and division by zero.
- Implement specific mathematical functions for comparison of results.
- Performs calculations using
funkcja1
andfunkcja2
for variousx
values, displaying the results. - Handles errors related to undefined functions and other unexpected errors.
- Calculates the
n
-th term of a recursive sequence based on initial valuesx0
andx1
. - Handles errors related to incorrect data types and
n
value.
- Performs calculations for the recursive function
re
and expressionnp.pow(x, 20)
. - Handles errors in function definition
re
, importingnumpy
, division by zero, and other unexpected errors.
- Selects and runs one of the functions (
zadanie1
,zadanie2
,zadanie3
,zadanie4
) based on the provided argument.
To run the script with a specific task, provide the task number as an argument when running the script from the command line:
python script_name.py <task_number>
Polynomial Interpolation and Chebyshev Polynomials
- Computes the Lagrange interpolation polynomial for given points.
- Used in tasks to approximate various functions.
- Sinusoidal function for interpolation in task 1.
3. plot_lagrange_polynomials(polynomials, x_points_sets, y_points_sets, func, func_name=r'$sin(2\pi x)$')
- Generates comparison plots of Lagrange interpolation for different sets of points.
- Calculates and displays the mean squared error (MSE) for interpolation.
- Interpolates a sinusoidal function using the Lagrange polynomial with different sets of points.
- Saves the plot to the file
fig.png
.
- Interpolates the Runge function using evenly spaced points.
- Saves the plot to a file named
Runge function
.
- Interpolates the "Weierstrass Monster" function (a complex trigonometric function) using the Lagrange polynomial.
- Generates a plot for the first few Chebyshev polynomials.
- Saves the resulting plot in
chebyshev.png
.
- Interpolates the Runge function using Chebyshev points (optimized points for better approximation).
- Generates an interpolation plot.
The script allows different tasks to be called by providing a command-line argument:
python script_name.py <task_number>
Hermite and Lagrange Interpolation
- Performs Hermite interpolation for a given set of points ( x, y ) and derivatives ( dy ).
- Creates a divided difference matrix and calculates function values based on node values and their derivatives.
- Calculates the mean squared error (MSE) between true function values and approximated values.
- Used to evaluate interpolation accuracy.
- Main function that:
- Defines the function ( f(x) = x^3 \cos(x) ) and its derivative.
- Generates points for Lagrange and Hermite interpolation.
- Plots a comparison of both interpolations and the original function.
- Calculates and displays MSE for both interpolation methods.
To run the script and perform interpolation, simply use the command:
python script_name.py