VO2 max test del gradino Astrand-Ryhming
Questo calcolatore di VO2 max del test del gradino Astrand-Ryhming stima il consumo massimo di ossigeno a partire da un classico protocollo di campo submassimale: una serie cronometrata di salite su un banco di altezza e cadenza note, oppure una potenza esterna equivalente, insieme alla frequenza cardiaca in stato stazionario registrata al termine del lavoro.
Esegui gratis nel browser
Allenatori, corsi di fisiologia dell'esercizio e programmi di benessere usano l'approccio Astrand-Ryhming quando un test massimale graduato completo non è praticabile, ma serve comunque una baseline aerobica numerica ripetibile dopo un blocco di allenamento. Il motore applica la forma chiusa di Buono del nomogramma di Astrand con coefficienti fissi per sesso, moltiplica per il fattore classico di correzione per età di Astrand quando richiesto e restituisce sia litri assoluti al minuto sia millilitri relativi per chilogrammo al minuto. Il carico di lavoro può essere inserito direttamente in chilogrammi-metro al minuto o in watt, oppure calcolato offline da massa corporea, altezza del gradino e passi al minuto mediante il fattore meccanico standard del test del gradino. Non vi è alcuna chiamata di rete, né campionamento casuale, né dipendenza dalla data corrente. Lo usi gratis nel browser per il monitoraggio personale e le dimostrazioni in aula, oppure chiami l'API a $0.002 per richiesta riuscita quando le servono fixture riproducibili in software di coaching, pipeline di ricerca o report automatici di benessere.
Come si usa
Inserisci i dati nel modulo qui sopra. Lo strumento li controlla prima del calcolo e mostra il risultato nella stessa pagina.
Controlla i dati
Segui le etichette e le unità indicate per ogni campo. Se manca qualcosa o un valore non è ammesso, la pagina indica cosa correggere.
Ripeti il calcolo o automatizzalo
Usa lo strumento web per controlli singoli e l’API quando vuoi integrare la stessa capacità in un flusso automatizzato.
Casi d'uso
Ottieni subito una risposta
Inserisci una serie di valori e visualizza il risultato senza preparare un foglio di calcolo o uno script.
Confronta gli scenari
Modifica un valore alla volta e ripeti il calcolo per capire cosa cambia il risultato.
Automatizza le attività ripetute
Usa l’API quando lo stesso calcolo deve essere eseguito nel tuo prodotto o flusso.
Domande frequenti
Quanto costa il calcolatore di VO2 max del gradino Astrand-Ryhming?
È gratuito nel Suo browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli ingressi non validi non vengono addebitati.
Quale formula usa questo strumento?
La forma chiusa di Buono et al. (1989) del nomogramma Astrand-Ryhming: males VO2max L/min = (0.00212×W + 0.299)/(0.769×HR − 48.5)×100; females VO2max L/min = (0.00193×W + 0.326)/(0.769×HR − 56.1)×100, con W in kgm/min, correzione opzionale per età di Astrand, e VO2 max relativo = L/min×1000/weight_kg.
Cosa succede se frequenza cardiaca, peso, età o carico sono zero o negativi?
L'ingresso viene rifiutato con invalid_input. I valori non positivi non sono validi per la stima Astrand-Ryhming.
Deve inserire il carico, oppure può usare altezza del gradino e cadenza?
Entrambe le opzioni funzionano. Fornisca workload (kgm/min o watts), oppure lo ometta e il motore calcola W da weight, step_height_cm (default 40 cm male / 33 cm female) e steps_per_min (default 22.5).
Si tratta di una diagnosi medica della capacità cardiorespiratoria?
No. È una stima deterministica da test di campo basata su formule di nomogramma pubblicate e fattori di età. Non sostituisce il test da sforzo graduato né il consiglio clinico.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/health/vo2max-astrand-step \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"heart_rate":150,"sex":"male","age":30,"weight":70}'const res = await fetch("https://api.kit.forhosting.com/health/vo2max-astrand-step", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"heart_rate": 150,
"sex": "male",
"age": 30,
"weight": 70
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/vo2max-astrand-step",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"heart_rate": 150,
"sex": "male",
"age": 30,
"weight": 70
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/vo2max-astrand-step", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"heart_rate":150,"sex":"male","age":30,"weight":70}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"heart_rate":150,"sex":"male","age":30,"weight":70}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/vo2max-astrand-step", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"heart_rate": 150,
"sex": "male",
"age": 30,
"weight": 70
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.vo2max_astrand_step",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |