Skip to content

Instantly share code, notes, and snippets.

/.rb

Created April 1, 2016 13:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/79f1363fb1e503ece11e2be64a04613c to your computer and use it in GitHub Desktop.
Save anonymous/79f1363fb1e503ece11e2be64a04613c to your computer and use it in GitHub Desktop.
def print(x)
#Henter volt-array fra excel-arket
volt = $xlsx.sheet(x).column(2)
###### Udregninger
#Skaber en array ud fra de første 100 målinger.
baseline100 = Array.new(volt.first(100))
#Finder mean for alle tal i de første 100 baseline
baseline = mean(baseline100)
#Finder MVC: max-værdien i array
mvc = mvc(volt)
realmvc = mvc - baseline
procent = 0.025 * realmvc
#Fjerner elementer i array, som er mindre end 2,5% af det korrigerede MVC. Metoden kører kun på den første halvdel af array.
stop_index = volt.size/2
kick_array = volt.reject.each_with_index{|v,i| break if i >= stop_index; v < procent}
###### Dokumentindstillinger
#Sætter font-size for hele dokumentet
font_size 14
###### Print af dokumentet
#Printer FP med font_size 25, samt hvilket spark det er (baseret på ark-navn i excel-dokumentet)
font_size(25) {text $fp}
text x
#Laver en hash ud fra Volt-array. Dernæst laver den en array baseret på Volt-array's size, som den så giver værdien x + 1 og dividerer med 1000. = 0.001, 0.002 etc.
hash = Array.new(volt.size){|x| (x + 1) / 1000.0 }.zip(volt).to_h
hash2 = Array.new(kick_array.size){|x| (x + 1) / 1000.0 }.zip(kick_array).to_h
#Printer grafen
data = {data: hash}
chart data, type: :line, border: false, labels: [false], legend: false, baseline: false, line_width: 0.1
data = {data: hash2}
chart data, type: :line, border: false, labels: [false], legend: false, baseline: false, line_width: 0.1
#Printer informationsboks
#bounding_box([25, 415], :width => 200, :height => 200) do
#text "Baseline: " + baseline.round(3).to_s
#text "MVC: " + mvc.round(3).to_s
#text "Korrigeret MVC: " + realmvc.round(3).to_s
#end
start_new_page
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment