Come utilizzare le unità per il calcolo della pendenza?

-3

Domanda semplice: è il risultato di un calcolo di pendenza in Python (ad esempio, funzione stats.linregress ()) in unità di radianti, o senza unità (ad esempio, che cosa è 18 gradi o 0,314 rad equivale a 0,2 nell'output della funzione) ?

    
posta CB001 23.08.2016 - 17:43
fonte

3 risposte

1

scipy.stats.linregress restituisce la pendenza in termini di aumento rispetto a correre. Come dice risposta Stephen C. Steels , le unità della pendenza risultante sono le unità dell'asse y moltiplicate per l'inverso delle unità dell'asse x (ad esempio se le unità y sono metri e le unità x sono secondi, allora le unità di inclinazione saranno metri / secondo).

Se vuoi l'angolo di inclinazione (in radianti e gradi), usa arcotangente:

import math
from scipy.stats import linregress

slope = linregress(xs, ys)[0]  # slope in units of y / x
slope_angle = math.atan(slope)  # slope angle in radians
slope_angle_degrees = math.degrees(slope_angle)  # slope angle in degrees
    
risposta data 01.09.2017 - 14:30
fonte
1

La pendenza e l'inclinazione misurano entrambi quanto è "non piatto" qualcosa, ma lo fanno in modo molto diverso. Ad esempio, se hai una tavola non piatta, l'angolo tra la scacchiera e il terreno misura quanto ruoti la tavola per renderla piatta, mentre la pendenza misura l'altezza della scacchiera divisa per la sua lunghezza orizzontale. Sono correlati per pendenza = tangente (angolo), ma sono concetti diversi con unità diverse. Inoltre, mentre la pendenza ha senso per qualsiasi due dimensioni, l'angolo ha senso solo quando le dimensioni si trovano nello stesso spazio. Quindi, ad esempio, 50 miglia all'ora possono essere interpretate come la pendenza del grafico della posizione di una macchina, ma non avrebbe senso provare a convertirlo in un angolo.

Mentre ci sono modi per codificare le unità nei programmi per computer, come regola generale i programmi per computer semplicemente non funzionano con le unità. Spetta a chiunque usi un programma per gestire le unità. La funzione stats.linregress () non accetta unità come input e non fornisce unità come output. Se, invece di "quali sono le unità dell'output", intendi "quali unità dovrei aggiungere all'output per un'interpretazione fisica", allora dovresti aggiungere le unità di y divise per le unità di x. Nota che se il tuo input ha più caratteristiche con più unità, allora ogni coefficiente avrà unità differenti. (Questo è il motivo per cui le caratteristiche sono generalmente normalizzate prima della regolarizzazione, la regolarizzazione consiste nel prendere la somma dei coefficienti (o dei loro quadrati) e aggiungere numeri con unità diverse non ha senso).

    
risposta data 13.01.2018 - 00:05
fonte
0

La libreria calcola il valore numerico della pendenza dato i valori numerici delle tue coordinate. L'interpretazione come una quantità (cioè un valore numerico combinato con unità) dipende dal tuo programma. A meno che la funzione di libreria non stia facendo qualcosa di molto strano, le unità per la pendenza attraverso un insieme di punti (x, y) sarebbero unità di pendenza = (unità di y) / (unità di x).

Quindi, ad esempio, se x e y sono entrambe le distanze espresse in unità identiche, la pendenza sarebbe senza dimensione. Tuttavia, se x è un tempo in secondi, y è una tensione in volt, quindi la pendenza sarà in volt / secondo.

    
risposta data 23.08.2016 - 19:45
fonte

Leggi altre domande sui tag