ПРМ/Предрок 2022 — разлика између измена
| (3 међуизмене истог корисника нису приказане) | |||
| Ред 70: | Ред 70: | ||
==== Rešenje ==== | ==== Rešenje ==== | ||
<syntaxhighlight lang = "octave"> | |||
pkg load symbolic | |||
syms t s | |||
f = 5*t*exp(t - 3); | |||
L = laplace(f, t, s) | |||
</syntaxhighlight> | |||
=== 4. задатак === | === 4. задатак === | ||
| Ред 78: | Ред 85: | ||
==== Rešenje ==== | ==== Rešenje ==== | ||
<syntaxhighlight lang = "octave"> | |||
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() | |||
</syntaxhighlight> | |||
=== 5. задатак === | === 5. задатак === | ||
| Ред 87: | Ред 126: | ||
==== Rešenje ==== | ==== Rešenje ==== | ||
<syntaxhighlight lang = "octave"> | |||
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}") | |||
</syntaxhighlight> | |||
== Напомене == | == Напомене == | ||
Тренутна верзија на датум 8. фебруар 2026. у 18:58
- Овај рок није решен. Помозите 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-ом.
- За не дефинисање симбола у Пајтону скидан је један поен.