Tak čo, už ste videli počítačový algoritmus na výpočet integrálov? Premeňme integrálny stĺpček na energiu oscilácií, čo je integrál na druhú:

Tak čo, už ste videli počítačový algoritmus na výpočet integrálov? Premeňme integrálny stĺpček na energiu oscilácií, čo je integrál na druhú:

poznamky z fyziky

Dostali sa mi do rúk poznámky z fyziky od jednej kamarátky a napadlo ma, že energiu oscilácií ^^^ by sme si mohli aj nakresliť :) O čo ide? Predstavil som integrály oscilačného sínusu ako stĺpčeky v počítačovom algoritme, keď sa integrál ráta hrubou silou, no á logicky ak je tento integrál na druhú, tak energia musí sedieť na grafe. Toť som nakreslil vyššie ^^^

using Pkg
Pkg.add("GLMakie")
Pkg.add("Colors")
using GLMakie
using Colors
# Dáta
x = 0:0.1:10
y = sin.(x)
abs_y = abs.(y)
# Rozdelenie na „tabličky“ (stĺpce)
bar_x = x[1:5:end]                  # každý 5. bod
bar_height = abs_y[1:5:end]         # výška stĺpca = hodnota krivky
bar_width = 0.08                     # šírka tabličky
# Vytvorenie grafu
fig = Figure(resolution=(900, 400))
ax = Axis(fig[1,1], title="E = integral[-inf,+inf] { (|y(t)|^2) dt }   https://hrubos.tech/blogy/  Mgr. Ján Hruboš", xlabel="x", ylabel="|sin(x)|")
# Hlavný graf |sin(x)|
lines!(ax, x, abs_y, color=:blue, linewidth=2, label="|sin(x)|")
# Bar chart „integrál pod krivkou“
barplot!(ax, bar_x, bar_height, color=:orange, width=bar_width, label="integral copying bars")
# Popisky x pod každý oranžový stĺpec
for (bx, bh) in zip(bar_x, bar_height)
    text!(ax, string(round(bx; digits=2)),
          position = (bx, 0),         # tesne nad osou x
          align = (:center, :top),
          fontsize = 10, color = :black)
end
# Špeciálny červený bod
special_index = 2
scatter!(ax, [bar_x[special_index]], [bar_height[special_index]],
         color=:red, marker=:circle, markersize=5, label="touching point")

# Červená tablička presne pod červeným bodom, šírka = výška baru
v_bottom = bar_height[special_index]      # y-hodnota červeného bodu
# rozsahy osí
xrange = ax.finallimits[].widths[1]
yrange = ax.finallimits[].widths[2]
# pomer jednotiek
scale = xrange / yrange
# šírka červenej tabličky v X jednotkách
width = bar_height[special_index] * scale*4.5         # šírka tabličky = výška oranžového stĺpca
height = 0.05*scale*9.6                              # výška tabuľky (malá, konštantná)
x0 = bar_x[special_index]
rect_x = [x0, x0 + width, x0 + width, x0]
rect_y = [v_bottom, v_bottom, v_bottom - height, v_bottom - height]
poly!(ax, rect_x, rect_y, color=:red, alpha=0.4)
# Legenda
axislegend(ax)
display(fig)
# pre terminál
if !Base.isinteractive()
    println("Stlač ENTER pre ukončenie...")
    readline()
end

Inak vďaka za prednášku Počítačové algoritmy pánovi docentovi Dederovi na Vojenskej akadémií v nejakom cca roku 2005-2006 Ták toto som si z toho odniesol ^^^


Author: AarNoma

The first Slovak cyborg 1 system

Comments “Tak čo, už ste videli počítačový algoritmus na výpočet integrálov? Premeňme integrálny stĺpček na energiu oscilácií, čo je integrál na druhú:”