Марафорум

форум о любительском беге, тренировках, соревнованиях

ПроБЕГ | КлбМатч | МАТЧИ IRC | УниверМАТЧ
Сервис предварительной регистрации
Youtube-канал Валерия Жумадилова (tauker)
Сайты и блоги марафорумцев
Сайты и блоги марафорумцев
(по старому)

Если у вас возникают проблемы с регистрацией, пишите на почту maraforum2reg AT mail.ru
Текущее время: 27 сен 2020, 02:52

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 18 сен 2019, 15:07 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
vioshkin писал(а):
так она себя ведет ужасно только от нетренированности
Разумеется от нетренированности. И им надо показать на графике, в числах, что медленный бег лучше чем быстрый. То есть им легче бежать, меньше после болит, и при этом число ударов сердца на 1км по кругам стравы также лучше. Люди изумляются. А на хрена я раньше эпизодически лупил в полную дурь 5-8км (и гордился темпом), если правильно 10-12 км не спеша. А быстро только на соревнованиях.

Как только этап входа в сезон закончился, ПС стабилизируется, начинаешь интервалы.

Цитата:
У меня на всем диапазоне скоростей от 3:10 до 4:30 одинаковая ПС (640-650). При это на субмаксимальных скоростях ПС снижается, т.к. темп растет, а пульс почти достиг максимума.
Если вы бежите кросс, накатываете в конце и у вас ПС такая же или лучше чем в начале, то кросс в тему. Если можете накатить, но ПС при этом растет, значит пошло закисление. кросс был слишком быстрый. Особенно это важно для длительных. Если ПС в ходе длительной полстоянная, то отлично. Если ПС начинает расти и упирается в предел, новичок бежать не может и еле-еле плетется в конце длительной, или вообще шагом, стандартный случай. Остледить начало рота ПС можно задолго до того как придёт полный кирдык. И принять меры - начать бежать медленнее а не рассчитывать что еще на 1 час тебя хватит.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 18 сен 2019, 15:16 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
vioshkin писал(а):
У вас красивый график, показывающий разницу в 60-70 ПС, но это вы так удачно подобрали :)
ниже по ссылке в конце статьи другие графики 2018, тоже подбирал конечно, но это легко, если не было травмы и на пике сезона есть хороший старт, в конце 2018 повторил 2 раз личник на М, 3:28 - быстрее 5 мин/км, а начиеал сезон по 6 мин/км, и даже пропустил сентябрьский ультра в Троодосе из-за неготовности. Но потои смог всё таки разбежаться. https://drive.google.com/file/d/17wK0y5 ... sp=sharing


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 18 сен 2019, 15:21 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
Еще график, надеюсь Майк не будет против что я опубликовал его данные, Sept 10 vs Sept 17

Изображение


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 18 сен 2019, 15:38 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
О понимании, подборе данных и реальном эксперименте

Инженеров уже 100+ лет учат что есть эффект показанный на видео
phpBB [video]


Чтобы получить такие картинки в реальном физическом эксперименте, а не в компьютерной симуляции, надо иметь идеальные условия. Если кто захочет сделать лабораторную установку и проверить этот эффект, хрен что у него получится в начале. Но такое явление есть, и есть понимание подкреплённое экспериментами высокого качества и физическими законами.

Аналогично с ПС, да и вообще с любым сложным явлением в жизни, природе, обществе.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 24 сен 2019, 15:22 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
закладка- обзор моделей

Master‘s Thesis
Race time prediction on individual historical training data for hilly and non-hilly courses
Julian Maurer
March 2018

https://umtl.cs.uni-saarland.de/thesis/ ... Maurer.pdf

page 28 , Fig.4.6
The Normalized Grade Pace (NGP) is the adjusted pace measured by the GPS device
that reflect the changes of grade and intensity according to the physical energy costs of
running over hilly terrain28. It is a conversion from the actual pace with all variations
from running up- or downhill to a “flat” pace, which is the level-ground equivalent in
terms of physiological stressfulness.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 24 сен 2019, 22:48 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
Открывает родные FΙΤ файлы Гармина, есть исходники

https://www.gpxsee.org/


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 11 сен 2020, 14:16 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
питон

garminexport - можно сгрузить все свои тренировки с гарминовского сайта одной командой
https://pypi.org/project/garminexport/

пример работы с fit файлом
https://devinrourke.github.io/posts/fit ... a-munging/

Буду рад если откликнуться специалисты по питону.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 11 сен 2020, 15:35 
Не в сети
Аватара пользователя

Зарегистрирован: июн 18
Сообщения: 949
Откуда: Нижневартовск
на кой что-то устанавливать?

Можно в том же хроме, находясь на страничке тренировки, вставить в консоль следующий JS скрипт:

var a = window.location.pathname.split("/");
var id = a[a.length-1];
var tcxUrl = "https://connect.garmin.com/modern/proxy/download-service/export/tcx/activity/";
var cnt = 1, ttl = 100; /*Change ttl from 100 to whatever # of activities you want to download*/
var downloadTimeoutLength = 1000;
var downloadUrl = tcxUrl + id;
window.location.href = downloadUrl;

setTimeout(
(getMore = function(){
jQuery.getJSON("https://connect.garmin.com/modern/proxy/activity-service/activity/"+id+"/relative?_="+Math.random()
,function(d){
id = d.previousActivityId;
downloadUrl = tcxUrl + id;
window.location.href = downloadUrl;
if(++cnt<ttl){
setTimeout(getMore,downloadTimeoutLength );
}
}
);
})
,downloadTimeoutLength
);

будет скачано ttl (100) тренировок с таймаутом downloadTimeoutLength (1000). в хроме в настройках убрать галку "Всегда указывать место для скачивания" в Дополнительные -> скачанные файлы. Быстро и просто.

_________________
1500: 4:17.94(i) 3000: 9:13.59(i)


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 11 сен 2020, 18:38 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
Если вы сами придумали, то восхищаюсь. Сразу же критика.

tcxUrl только для tcx файлов. Очень рыхлый формат. Какой адрес для fit файлов?

Можно допилить так:
(1) скачать файл
(2) тут же распарсить
(3) сделать свой анализ распарсенных переменных, включая графики, например, на одном поле поместить кривые с разных тренировок

Есть пример такого скрипта?

PS: похоже, вот источник скрипта
https://ps-sports.de/garmin-fit-dateien ... n-connect/


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 11 сен 2020, 18:45 
Не в сети
Аватара пользователя

Зарегистрирован: ноя 13
Сообщения: 1606
Клуб: IRC
Похоже где то ошибка в скрипте.
Цитата:
{"message":"For input string: \"activities\"","error":"NumberFormatException"}


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 11 сен 2020, 23:02 
Не в сети

Зарегистрирован: ноя 13
Сообщения: 1872
скрипт на питоне

диалог запрашивает *.fit file
полный парсинг *.fit файла
из парсинга доступны все переменные, поэтому любой график возможен

т.к. поле уже определено, то новые данные ложатся на прежнее поле

Изображение

Скрытый текст: показать
скрипт
---------------------------------------------------------------
Код:
from fitparse import FitFile
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import easygui


# Load the fitfile
# fitfile = FitFile('2019-03-11-185427-ELEMNT BOLT 4043-167-0.fit')
#fitfile = FitFile('D:/GoogleDrive/RUN/backup_tcx/backupGarminFR935/ACTIVITY/A82I5744.FIT')

fname=easygui.fileopenbox()
fitfile = FitFile(fname)

# This is a ugly hack
# to avoid timing issues
while True:
    try:
        fitfile.messages
        break
    except KeyError:
        continue

# Get all data messages that are of type record
workout = []
for record in fitfile.get_messages('record'):
    r = {}
    # Go through all the data entries in this record
    for record_data in record:
        r[record_data.name] = record_data.value

    workout.append(r)

df = pd.DataFrame(workout)

plotlabel=fitfile.messages[0].get_value('time_created').strftime('%Y-%m-%d')

df['pace']=1/(60*df[ 'enhanced_speed']/1000)
df['HRE']=df['pace']*df['heart_rate']


plt.figure(1)
ax1=plt.subplot(311)
ax1.plot(df['distance']/1000,df['pace'], label=plotlabel)
plt.ylim([3,7])
plt.grid(True)
plt.title('Pace')
plt.legend()


plt.subplot(312)
plt.plot(df['distance']/1000,df['heart_rate'], label=plotlabel)
plt.ylim([110,190])
plt.grid(True)
plt.title('Heart rate')
plt.legend()

plt.subplot(313)
plt.plot(df['distance']/1000,df['HRE'], label=plotlabel)
plt.ylim([550,1250])
plt.grid(True)
plt.title('Heart rate efficiency')
plt.legend()

plt.tight_layout()


Вернуться к началу
  Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB