Марафорум

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

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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 153 ]  На страницу 1, 2, 3, 4, 5 ... 8  След.
Автор Сообщение
 Заголовок сообщения: Программирование
СообщениеДобавлено: 17 сен 2019, 15:00 
Не в сети

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

phpBB [video]


Анализ кругов в страве.

Вкладку Laps копирую в буфер, из буфера её забирает матлаб, чистит от ненужных символов, рисует график. Можно из буфера отправить в ексель.

код матлаба тривиальный
Код:
day='';
% take variable from clipboard
a=clipboard('paste');
% clean variable from unnesesary characters
c=strrep(a,'bpm',';');
c=strrep(c,'km','');
c=strrep(c,'/','');
c=strrep(c,'m','');
% split integer ninutes fron seconds
c=strrep(c,':','  ');
c=strrep(c,'s','  ');
% create numerical array
b=str2num(c);

% plot data
figure, hold on
title(day)
plot(b(:,1), (b(:,5)+b(:,6)/60).*b(:,10),'-o', 'DisplayName','pace*HR')
plot([b(1,1) b(end,1)], mean((b(:,5)+b(:,6)/60).*b(:,10))*[1 1],'o--', 'DisplayName','mean of (pace*HR) ')
plot(b(:,1), (b(:,7)+b(:,8)/60).*b(:,10),'-s', 'DisplayName','GAP*HR')
plot([b(1,1) b(end,1)], mean((b(:,7)+b(:,8)/60).*b(:,10))*[1 1],'s--', 'DisplayName','mean of (GAP*HR) ')
grid on, box on
ylabel('HRE')
xlabel('distance')
legend('-DynamicLegend');

Подскажите простой способ (яэык программирования), чтобы написать утилиту, которая бы это делала по нажатию клавиши. Матлаб есть не у всех


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

Зарегистрирован: ноя 13
Сообщения: 2820
Откуда: г. Мытищи
Матлаб :roll:

По графикам сразу Эксель на ум пришёл с VB впридачу. Как раз и кнопку там сделать как два пальца.

_________________
Вдохновение здесь: https://ivara.ru/tango.html


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

Зарегистрирован: ноя 13
Сообщения: 2205
можно и в VΒ и в эксель, если будет работать автономно

Я к стыду в Екселе знаю только примитивные команды, работа со столбцами (+ - *). Отделить там секунды от минут, чтобы получить темп в десятичном формате для меня уже сложно, а автоматизировтаь построение графика вообще неподъёмно.


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

Зарегистрирован: ноя 13
Сообщения: 2820
Откуда: г. Мытищи
Вроде, там прямо есть ф-ции типа Seconds(), Minutes()... Графики не скажу, но скорее всего, просто. На ячейки прямо из Selection можно ссылаться... Сейчас некогда повозиться. Да и пульс у меня глючный по оптике и рельефа такого нет, чтобы так красиво отрисовывать. (я полагаю, что это график пульсовой стоимости повторяет рельеф ) ).
Хотя, было бы интересно на фартлеке посмотреть на ПС. Только, какие выводы из этого делать??

_________________
Вдохновение здесь: https://ivara.ru/tango.html


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

Зарегистрирован: ноя 13
Сообщения: 2205
Мотивация такая. Обычно я подробно я работаю с сырыми файлами Гармина. Там все долго (импорт данных из гарминовского формата, куча кликов), и берется весь трек, всё что Гармин пишет с своих датчиков.

Но оказалось что очень быстрый анализ с 90% выводов уже можно сделать используя данные страва онлайн. Вместо 3-5 мин, пара секунд и буквально два клика. Ешё важно что страва дает GAP - grade adjusted pace, иначе осцилляции на ПС заметно больше. Динамика ПС по дистанции отслеживается четко, сразу видна польза аэробных кроссов, и сразу ясно на правильном пульсе кросс бежится или на завышенном

Жаль что страва сама не делает такой анализ ПС, ей достаточно добавить одну колонку в свои "круги"


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

Зарегистрирован: ноя 13
Сообщения: 2205
Пример развития аэробной функции по моим данным в последние 2 недели используя круги страва (как на видео)

Изображение

В начале ПС высокая и ползет вверх с начала кросса (Август 30). Через 2 недели уже и средняя ПС получше, и распределение хорошее. Хотя субъективно бег всё ещё тяжелый. До лучших кондиций прошлых лет (ПС < 700) ещё ползти и ползти, если вообще получится


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

Зарегистрирован: ноя 13
Сообщения: 2820
Откуда: г. Мытищи
Для бегуна с головой информативная вещь!
Как говорится "торопится сердце, сердце волнуется..." )

_________________
Вдохновение здесь: https://ivara.ru/tango.html


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

Зарегистрирован: ноя 13
Сообщения: 744
Откуда: Королев
karaul писал(а):
Подскажите простой способ (яэык программирования), чтобы написать утилиту, которая бы это делала по нажатию клавиши. Матлаб есть не у всех


Чтобы работало у всех и не требовало установки дополнительного ПО, надежнее делать через браузер. Если бы мне пришлось, то я бы разобрался с гугл-таблицами и сделал бы на их основе.

_________________
www.randonneur.ru


Вернуться к началу
  Профиль WWW  
 
 Заголовок сообщения: Re: Программирование
СообщениеДобавлено: 17 сен 2019, 21:56 
В сети
Аватара пользователя

Зарегистрирован: июн 18
Сообщения: 1070
Откуда: Нижневартовск
Ребят, tcx это обычный xml. Можно написать любой парсер и удобным образом строить нужные графики/таблицы в любых разрезах. Я для себя накидал за пару часов на c#/wpf, но ценность всего этого ничтожна, потому что графики красивы, а бежать надо ногами

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


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

Зарегистрирован: ноя 13
Сообщения: 2205
закладка
https://github.com/mrihtar/Garmin-FIT


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

Зарегистрирован: ноя 13
Сообщения: 192
У Стравы есть вполне приличный API: https://developers.strava.com/docs/refe ... ActivityId. Я из Ruby через него забираю данные для соревнований на Кубок Аэробии. Правда, придется разбираться с их аутентификацией, но зато не нужно ничего открывать в браузере и выделять. Графики рисую через gnuplot в Ruby, хотя в Python они делаются проще и красивее.

_________________
[url=http://www.runningahead.com/logs/3983678e8f7447e69564fcba0a763167]Дневник@RunningAhead.com[/url]
[url=http://prochital.blogspot.com]Прочитал...[/url]


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

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

это понятно, я примерно так и работал с TCX файлами в матлабе. Сейчас я обнаружил у Гармин SDK для работы с FIT форматом , https://www.thisisant.com/resources/fit , FIT гораздо компактнее, для архива просто копируется folder Activities c прибора, не надо тратиться на импорт в многословный TCX. Мне захотелось переписать старый код, но руки еще не дошли. В SDK есть примеры работы с FIT на разных языках (на матлабе нет). Если вы не против поделиться своим кодом на c#/wpf, буду очень признателен. Я хотел выучить c#/wpf, но не было оказии, а сейчас удобный случай. Как я понимаю, в вашем проекте парсер TCX меняется на модуль чтения FIT


Fruchtenstein

спасибо не знал, поизучаю.

--------------------------------
Как всегда, здесь два интереса: личный и групповый. Личный - изучить c#/wpf или что-то другое актуальное, поработать с Гарминовским SDK, это может надолго затянуться.

Групповой: члены нашего триатлонного клубе любят страву, плохо бегают кроссы и не имеют понятия о пульсовой стоимости. Также они не программисты. Я им объяснял роль ПС и как правильно бегать кроссы, и сделал ролик (см. стартовое сообщение), чтобы показать как можно быстро увидеть ПС подручными средтсвами по кругам в страве. Вместо матлаба они могут использовать Ексел, который знают все. Но всё равно в Ексел надо делать кучу всего, чтобы посчитать ПС, хотя думаю что с этим справится каждый минут за 10-15. Мне захотелось всё это автоматизировать: сделать _легкую_ и _простую_ утилиту запуская которую при выделенной вкладке в страве тут же видишь график. _легкую_ и _простую_ здесь главное, чтобы не пришлось ничего дополнительно инсталлировать на компьютер, и как меньше обяснять. Выделил круги в страве, запустил утилиту, и вот он график. Как на видео показано (но там матлаб).

Еще мне интересно поговорить. Я правильно понимаю, что до сих пор в Виндоуз нельзя писать простуы прораммки-утилиты, как, например в bash на Линукс. Обязательно надо с собой тащить кучу ненужного хлама, так что простая программка в 5 строк и тривиалной логикой оказывается размером в десятки мегабайт. Раньше это были DLL под VB, сейчас .ΝΕΤ. Вот, питон - классная штука, но сама по себе утилита питона на чужой машине без питона рабоать не будет, потом что питон - интерпретатор.


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

Зарегистрирован: ноя 13
Сообщения: 192
В такой ситуации, наверное, лучше сделать сайтик с формой, через которую можно отправить tcx (или, может быть, fit, если в нем есть отрезки), а уж там через Python/Ruby/Perl/whatever его распарсить, построить график и показать пользователю.

Более экзотическая альтернатива — опять-таки сайт, который по API сам забирает тренировки пользователей и каждую тренировку отображает в каком угодно виде. Тут писать придется значительно больше, но и простор для творчества неограниченный :) К тому же не нужно требовать от пользователя, чтобы он где-то раздобыл tcx/fit-файл, потому что со Стравы можно скачать только gpx, если мне память не изменяет.

_________________
[url=http://www.runningahead.com/logs/3983678e8f7447e69564fcba0a763167]Дневник@RunningAhead.com[/url]
[url=http://prochital.blogspot.com]Прочитал...[/url]


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

Зарегистрирован: ноя 13
Сообщения: 2205
bruno писал(а):
разобрался с гугл-таблицами и сделал бы на их основе.
это то же самое что в Екселе. Надо запускать Ексел или гугл-таблицы, водить мышкой. Если человеку начать объяснять, он скажет: "Я не тупой, и сам всё в экселе сделаю со столбцами, невелика работа". Один раз сделает, потом надоест назначать вручную всякие опции. А если юзеру показать как на видео: выделил круги в Страве , нажал кнопку и всё, готово, вот тогда буду пользоваться


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

Зарегистрирован: ноя 13
Сообщения: 2205
Fruchtenstein писал(а):
сайтик с формой, через которую можно отправить tcx (или, может быть, fit, если в нем есть отрезки), а уж там через Python/Ruby/Perl/whatever его распарсить, построить график и показать пользователю.
или так, действительно. У клуба есть сайт, надо узнать кто там командует http://nireas.org/ я оказывается там даже на фото есть, Bay2Bay 2019, это мы в недавнем июле морскую милю плавали с английской военной базы, неплохо выступили


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

Зарегистрирован: ноя 13
Сообщения: 744
Откуда: Королев
karaul писал(а):
bruno писал(а):
разобрался с гугл-таблицами и сделал бы на их основе.
это то же самое что в Екселе. Надо запускать Ексел или гугл-таблицы, водить мышкой. Если человеку начать объяснять, он скажет: "Я не тупой, и сам всё в экселе сделаю со столбцами, невелика работа". Один раз сделает, потом надоест назначать вручную всякие опции. А если юзеру показать как на видео: выделил круги в Страве , нажал кнопку и всё, готово, вот тогда буду пользоваться


У гугл-таблиц есть богатый api, возможность прикручивать формы с полями ввода, писать функции обрабатывающие вставленный текст, генерировать таблицы, плоты и т.д. То есть в принципе можно сделать по такому же сценарию, как у вас на видео - выделил текст в страве, скопипастил его на форму, а дальше скрипт сам выберет из текста данные и построит таблицу с графиками.

_________________
www.randonneur.ru


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

Зарегистрирован: ноя 13
Сообщения: 2205
bruno, про API Гугл-таблиц не знал, спасибо, тогда это интересно, надо почитать


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

Зарегистрирован: июн 18
Сообщения: 1070
Откуда: Нижневартовск
karaul писал(а):
Пример развития аэробной функции по моим данным в последние 2 недели используя круги страва (как на видео)
А какой может быть вообще практический смысл оценивать ПС по кругам, если она зависит от фиговы тучи факторов. Для сравнения должны быть одинаковые условия - хотя бы температура и погода.

Вот взял рандомно 5 тренировок за полгода + прошлогоднюю.
Изображение

В июле график выше, потому что жарко. 10 сентября график выше, потому что бегал с оптикой, а 17 с ремнем.
Практической пользы от этого немного. Я понимаю, что можно сравнивать средний ПС по месяцам и пр, но это все очень неточно. Зачем придумывать велосипед, если есть простой способ - если растет темп легкого бега при сохранении того же пульса, значит есть прогресс. Оно ж итак понятно, что я раньше бегал легкие по 5:20, а теперь по 4:30.

Касательно c#/wpf практической ценности немного, мне кажется, если хочется заняться, то можно написать расширение для хрома, которое будет прямо на странице встраиваться и рисовать ПС график.

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


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

Зарегистрирован: ноя 13
Сообщения: 2205
Зная и умея всё просто.

На людей неглупых по жизни, зрелых по возрасту и далёких от бега впечатление производит уже 2ая - 3ья пробежка. Первый раз они бегут со мной слишком быстро, я им ничего не говорю (плетусь сзади, не тороплю), ПС у них ведёт себя ужасно. Второй раз я им говорю осторожно не спешите а то будет также плохо как 1ый раз, и ПС во 2ой раз получше. Третий раз - они уже сами бегут правильно. И начинают понимать роль раскладки и пульса, а анализ ПС по кругам к страве им это показывает наглядно в цифрах. У меня примеры с прошлых лет, а в этом году особенно. Все бегут слишком быстро, не понимают как пользоваться часами и как делать анализ. Рассуждают как вы "и она зависит от фиговы тучи факторов". Действительно куча факторов, но если есть малая толика регулярности, то динамика вхождения в сезон отслеживается легко, если делать правильно, см. выше мой рисунок ПС сравнивающий 2 недели. Но у них самостоятельно так не получается, нет регулярности, а регулярности нет потому что нет мотивации и им трудно после каждой пробежки, а мотивации нет потому что нет понимания, нет обратной связи, нет понимания как себя ведет их организм на медленном и быстром беге и по каким параметрам оценивать качество бега.


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

Зарегистрирован: июн 18
Сообщения: 1070
Откуда: Нижневартовск
karaul писал(а):
На людей неглупых по жизни, зрелых по возрасту и далёких от бега впечатление производит уже 2ая - 3ья пробежка. Первый раз они бегут со мной слишком быстро, я им ничего не говорю (плетусь сзади, не тороплю), ПС у них ведёт себя ужасно.
Ну так она себя ведет ужасно только от нетренированности. Пульс при высоком темпе к концу тренировки всегда будет расти. У вас красивый график, показывающий разницу в 60-70 ПС, но это вы так удачно подобрали :)

karaul писал(а):
нет обратной связи, нет понимания как себя ведет их организм на медленном и быстром беге и по каким параметрам оценивать качество бега.
У меня на всем диапазоне скоростей от 3:10 до 4:30 одинаковая ПС (640-650). При это на субмаксимальных скоростях ПС снижается, т.к. темп растет, а пульс почти достиг максимума. Какую обратную связь я получаю? :D

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


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

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


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

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


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

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