Calcolatore di Alligation — Rapporto di Miscelazione e Quantità
Trova il rapporto per mescolare un ingrediente più economico e uno più costoso (o una concentrazione bassa e alta) per raggiungere un valore target, più la quantità esatta di ogni. Calcolatore di alligation-alternata gratuito con un diagramma a croce elaborato.
Calcolatore di Alligation
Immetti il valore dell'ingrediente più economico, l'ingrediente più costoso (più caro) e il valore della miscela target. Lo strumento restituisce il rapporto in cui mescolarli — e le quantità esatte se fornisci una quantità totale.
Valori di input
Risultati
Rapporto di miscelazione
Quantità
Croce di alligation
Formula di alligation
10.00 : 10.00 = (30.00 − 20.00) : (20.00 − 10.00)
Composizione della miscela
Documentazione
Cosa fa questo calcolatore (ELI5)
Hai due cose di valore diverso — una economica e una costosa — e vuoi mescolarle in una miscela che si trova a un valore target intermedio. L'alligation ti dice quanto di ogni utilizzare.
Pensa a un'altalena. Il valore target è il fulcro. L'ingrediente il cui valore è lontano dal target deve essere piccolo in quantità, e quello vicino al target deve essere grande, in modo che i due lati si bilancino. L'alligation è solo l'aritmetica di quel equilibrio.
Inserisci tre numeri — il valore più economico, il valore più costoso e il target — e lo strumento ti dà:
- il rapporto di miscelazione (ad es. 1 : 2, cioè 1 parte economica per 2 parti costosa),
- le quantità esatte di ogni ingrediente una volta inserita una quantità totale,
- un diagramma a croce e un grafico di composizione in modo da poter vedere il miscuglio.
"Valore" può essere un prezzo, una percentuale di forza o una concentrazione (%, mg/mL, w/v) — qualsiasi cosa misurata su una scala coerente.
La formula
Con un valore economico C, un valore costoso D e un valore di miscela target M dove C < M < D:
Ogni parte di ingrediente proviene dalla differenza opposta — quanto più il target si trova lontano da un ingrediente, tanto più dell'ingrediente altro di cui hai bisogno. Se conosci anche la quantità totale Q:
La croce di alligation
Il modo classico per disporre questo è la "croce": metti i due valori degli ingredienti a sinistra, il target nel mezzo e sottrai lungo ogni diagonale. Ogni differenza si trova nell'angolo opposto e diventa le parti di quell'ingrediente.
1 Dearer (D) ───────┐ ┌─────── (M − C) = dearer parts
2 ╲ ╱
3 Target (M)
4 ╱ ╲
5 Cheaper (C) ───────┘ └─────── (D − M) = cheaper parts
6Esempio risolto
Mescola un ingrediente da 30 per venderlo a $20:
Parti uguali. Per 100 unità totali, cioè 50 del più economico e 50 del più costoso — e il valore miscelato è esattamente 25 e il rapporto diventa 5 : 15 = 1 : 3: quanto più il target si avvicina al valore più costoso, tanto più ingrediente più costoso di cui hai bisogno.
Alligation alternata vs. alligation mediale
- Alligation alternata (cosa fa questo strumento) — conosci i due valori degli ingredienti e il target, e risolvi per il rapporto.
- Alligation mediale — conosci le quantità e i valori degli ingredienti, e risolvi per il valore della miscela risultante. Questo è solo la media ponderata: .
I due sono inversi l'uno dell'altro, il che è un modo utile per verificare il tuo lavoro: inserisci le quantità che questo strumento ti dà in una media ponderata e dovresti atterrare sul tuo target.
Dove viene utilizzato
- Preparazione farmaceutica — mescola una preparazione ad alta e bassa forza (ad es. una soluzione al 70% e al 20%) a una concentrazione prescritta. I valori sono percentuali o mg/mL anziché dollari; l'aritmetica è identica.
- Affari e prezzi — mescola uno stock economico e premium per colpire un costo unitario o un prezzo di vendita target.
- Chimica e alimentari/bevande — diluisci o arricchisci a una concentrazione, forza o Brix target.
Poiché la regola ha bisogno solo di un singolo valore su una scala coerente, gli stessi tre input coprono tutti questi.
Come usarlo
- Immetti il valore più economico, il valore più costoso e il valore della miscela target (qualsiasi unità coerente).
- Facoltativamente immetti la quantità totale per ottenere la quantità esatta di ogni ingrediente.
- Leggi il rapporto, il rapporto semplificato e le quantità; il diagramma a croce e la ciambella mostrano la divisione.
Gli input si sincronizzano con l'URL della pagina, quindi puoi aggiungere ai segnalibri o condividere una configurazione esatta. Il target deve trovarsi rigorosamente tra i due valori degli ingredienti — altrimenti nessuna miscela di loro può raggiungerlo, e lo strumento lo dice.
Calcola in codice
Ogni snippet accetta il valore economico c, il valore costoso d, il target m e la quantità totale q, e restituisce le due parti e i due importi.
Excel
Supponendo C2 = economico, D2 = costoso, M2 = target, Q2 = quantità totale:
1=D2-M2 ' cheaper parts (D − M)
2=M2-C2 ' dearer parts (M − C)
3=(D2-M2)/((D2-M2)+(M2-C2))*Q2 ' cheaper amount
4=(M2-C2)/((D2-M2)+(M2-C2))*Q2 ' dearer amount
51def alligation(c, d, m, q=None):
2 if not (c < m < d):
3 raise ValueError("need cheaper < target < dearer")
4 cheaper_parts, dearer_parts = d - m, m - c
5 total = cheaper_parts + dearer_parts
6 if q is None:
7 return cheaper_parts, dearer_parts
8 return cheaper_parts / total * q, dearer_parts / total * q
91function alligation(c, d, m, q) {
2 if (!(c < m && m < d)) throw new Error("need cheaper < target < dearer");
3 const cheaper = d - m, dearer = m - c, total = cheaper + dearer;
4 return q == null
5 ? { cheaper, dearer }
6 : { cheaperAmount: (cheaper / total) * q, dearerAmount: (dearer / total) * q };
7}
81double[] alligation(double c, double d, double m, double q) {
2 if (!(c < m && m < d)) throw new IllegalArgumentException("need c < m < d");
3 double cheaper = d - m, dearer = m - c, total = cheaper + dearer;
4 return new double[] { cheaper / total * q, dearer / total * q };
5}
61(double cheaper, double dearer) Alligation(double c, double d, double m, double q)
2{
3 if (!(c < m && m < d)) throw new ArgumentException("need c < m < d");
4 double cp = d - m, dp = m - c, total = cp + dp;
5 return (cp / total * q, dp / total * q);
6}
71#include <stdexcept>
2#include <utility>
3std::pair<double, double> alligation(double c, double d, double m, double q) {
4 if (!(c < m && m < d)) throw std::invalid_argument("need c < m < d");
5 double cheaper = d - m, dearer = m - c, total = cheaper + dearer;
6 return { cheaper / total * q, dearer / total * q };
7}
81func Alligation(c, d, m, q float64) (float64, float64, error) {
2 if !(c < m && m < d) {
3 return 0, 0, errors.New("need c < m < d")
4 }
5 cheaper, dearer := d-m, m-c
6 total := cheaper + dearer
7 return cheaper / total * q, dearer / total * q, nil
8}
91fn alligation(c: f64, d: f64, m: f64, q: f64) -> Option<(f64, f64)> {
2 if !(c < m && m < d) { return None; }
3 let (cheaper, dearer) = (d - m, m - c);
4 let total = cheaper + dearer;
5 Some((cheaper / total * q, dearer / total * q))
6}
71function alligation($c, $d, $m, $q) {
2 if (!($c < $m && $m < $d)) throw new InvalidArgumentException('need c < m < d');
3 $cheaper = $d - $m; $dearer = $m - $c; $total = $cheaper + $dearer;
4 return [$cheaper / $total * $q, $dearer / $total * $q];
5}
61def alligation(c, d, m, q)
2 raise ArgumentError, "need c < m < d" unless c < m && m < d
3 cheaper, dearer = d - m, m - c
4 total = cheaper + dearer
5 [cheaper / total * q, dearer / total * q]
6end
71alligation <- function(c, d, m, q) {
2 stopifnot(c < m, m < d)
3 cheaper <- d - m; dearer <- m - c; total <- cheaper + dearer
4 c(cheaper = cheaper / total * q, dearer = dearer / total * q)
5}
6Domande frequenti
E se il target non fosse tra i due valori? Allora nessuna miscela dei due può raggiungerlo — un miscuglio di un articolo da 30 atterra sempre tra 30. Lo strumento lo segnala invece di restituire un rapporto falso.
L'unità è importante? No. Il rapporto dipende solo dalle differenze su una scala coerente, quindi prezzi, percentuali e mg/mL funzionano tutti — mantieni solo i tre input nella stessa unità.
Posso usarlo per tre o più ingredienti? Questo strumento gestisce il caso di due ingredienti. I problemi con tre o più componenti hanno molte risposte valide e sono generalmente risolti accoppiando ingredienti o con equazioni lineari.
L'alligation è la stessa di una media ponderata? Sono inversi. Una media ponderata (alligation mediale) trasforma gli importi in un valore di miscela; l'alligation alternata trasforma un valore target in importi.
Fonti
- Alligation — Wikipedia — definizioni di alligation alternata e mediale e la regola sottostante.
- Alligation Calculator — Omni Calculator — il modulo basato sulla concentrazione utilizzato in farmacia, con esempi risolti.
- Pharmaceutical calculations by alligation method — EGPAT — procedura da zero della croce di alligation per la preparazione.