ПРМ/Предрок 2022
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Предрок 2022. године је одржан 3. децембра у сали 70. Постојала је могућност изласка на испит и у јануарском року за студенте незадовољне оценом. Испит је рађен на Moodle платформи, без доступних окружења уз доступне материјале са предавања.
Задаци
1. задатак
Postavka
Написати команде у Латеху којима се реконструише текст и форматирање са слике испод (овде преписано као текст).
- Rešiti sistem jednačina na dva načina, korišćenjem inverzne matrice i primenom Kramerovih pravila:
- (z и решење треба да буду поравнати).
- 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-ом.
- За не дефинисање симбола у Пајтону скидан је један поен.