ПРМ/Предрок 2022

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Предрок 2022. године је одржан 3. децембра у сали 70. Постојала је могућност изласка на испит и у јануарском року за студенте незадовољне оценом. Испит је рађен на Moodle платформи, без доступних окружења уз доступне материјале са предавања.

Задаци

1. задатак

Postavka

Написати команде у Латеху којима се реконструише текст и форматирање са слике испод (овде преписано као текст).

  1. Rešiti sistem jednačina na dva načina, korišćenjem inverzne matrice i primenom Kramerovih pravila:
    (z и решење треба да буду поравнати).
  2. Izračunati integral:

Rešenje

\begin{enumerate}
    \item Re\v siti sistem jedna\v cina na \textit{dva na\v cina}, kori\v s\' cenjem inverzne matrice i \\ primenom Kramerovih pravila:
    \begin{align*}
        2x + 3y - 5z &= -7 \\
        -3x + 2y + z &= -9 \\
        4x - y + 2z &= 17
    \end{align*}

    \item Izra\v cunati integral
    \begin{equation}
        I = \int_{0}^{\frac{\pi}{2}} \frac{dx}{2\sin{x} + 3\cos{x}}
    \end{equation}
\end{enumerate}

2. задатак

Postavka

Написати команде у GNU Octave којима се:

  • дефинише функција ;
  • црта график функције ;
  • израчунава вредност интеграла .

Rešenje

pkg load symbolic

syms x

f = cos(x)^2 / (1+sin(x)^2)

fh = function_handle(f);

x_val = linspace(-10, 10, 1000);
y_val = fh(x_val);

plot(x_val, y_val)
xlabel("x")
ylabel("f(x)")
title("Grafik:")
legend("f(x)")

int_f = int(f, x, 0, pi);
double(int_f)

3. задатак

Postavka

Лапласова трансформација функције се дефинише на следећи начин:

Написати команде у SageMath којима се одређује Лапласова трансформација функције . (Напомена: претпоставити да је .)

Rešenje

pkg load symbolic
syms t s
f = 5*t*exp(t - 3);
L = laplace(f, t, s)

4. задатак

Postavka

Написати команде у Python-у којима се одређују тангента и нормала функције у тачки (2,0).

Написати команде у Python-у за цртање дате параболе и њене тангенте.

Rešenje

import numpy as np
import sympy as sp
import matplotlib.pyplot as plt

x = sp.Symbol('x')
f = x**2 - 3*x + 2
x0 = 0
y0 = 2

der = sp.diff(f, x)
slope = der.subs(x, x0)
tangent = slope*(x - x0) + y0

f_num = sp.lambdify(x, f, "numpy")
tangent_num = sp.lambdify(x, tangent, "numpy")
x_vals = np.linspace(-2, 3, 400)

plt.figure(figsize=(7, 5))
plt.plot(x_vals, f_num(x_vals), label=r"$f(x) = x^2 - 3x + 2$")
plt.plot(x_vals, tangent_num(x_vals), "--", label="Tangenta")
plt.scatter(x0, y0)

plt.xlabel("x")
plt.ylabel("y")
plt.title("Grafik funkcije i tangente")
plt.legend()
plt.grid(True)
plt.show()

5. задатак

Postavka

Написати команде у Python-у које решавају задати систем једначина на два начина, симболички и нумерички.

Rešenje

import sympy as sp

x, y, z = sp.symbols('x y z')

eq1 = sp.Eq(2*x + 3*y - 5*z, -7)
eq2 = sp.Eq(-3*x + 2*y + z, -9)
eq3 = sp.Eq(4*x - y + 2*z, 17)

solution = sp.solve((eq1, eq2, eq3), (x, y, z))
solution


import numpy as np

A = np.array([
    [2,  3, -5],
    [-3, 2,  1],
    [4, -1,  2]
], dtype=float)

b = np.array([-7, -9, 17], dtype=float)

solution = np.linalg.solve(A, b)
x, y, z = solution
print(f"x = {x:.0f}, y = {y:.0f}, z = {z:.0f}")

Напомене

  • За ствари које нису писале у материјалима, признавано је било шта.
  • За Octave, уколико се дефинише функција, мора се у коментару нагласти да се то ради у посебном фајлу који се зове као функција, иначе -1 поен.
  • Иако је при обиласку рекла да је то у реду, професорка је скинула поене за писање ошишаном латиницом у задатку са LaTeX-ом.
  • За не дефинисање симбола у Пајтону скидан је један поен.