Kalkulačka alligácie — Pomer miešania a množstvá
Nájdite pomer na zmiešanie lacnejšej a drahšej ingrediencie (alebo nízkej a vysokej koncentrácie) na dosiahnutie cieľovej hodnoty, plus presné množstvo každej. Bezplatná kalkulačka alligácie-striedavej s odpracovaným kríž diagramom.
Kalkulačka alligácie
Zadajte hodnotu lacnejšej ingrediencie, drahšej (drahšej) ingrediencie a cieľovej hodnoty zmesi. Nástroj vracia pomer, v ktorom ich miešať — a presné množstvá, ak zadáte celkové množstvo.
Vstupné hodnoty
Výsledky
Pomer miešania
Množstvá
Kríž alligácie
Vzorec alligácie
10.00 : 10.00 = (30.00 − 20.00) : (20.00 − 10.00)
Zloženie zmesi
Dokumentácia
Čo táto kalkulačka robí (vysvetlené jednoducho)
Máte dve veci s rôznou hodnotou — lacnú a drahú — a chcete ich zmiešať v zmesi, ktorá dosahuje určitú cieľovú hodnotu medzi nimi. Alligácia vám povie koľko z každej použiť.
Predstavte si hojdačku. Cieľová hodnota je os. Ingrediencia, ktorej hodnota je ďaleko od cieľa, musí byť malého množstva, a tá blízka k cieľu musí byť veľká, aby boli dve strany vyvážené. Alligácia je len aritmetika tejto rovnováhy.
Zadajte tri čísla — lacnú hodnotu, drahú hodnotu a cieľ — a nástroj vám dá:
- pomer miešania (napr. 1 : 2, čo znamená 1 diel lacnejšej k 2 dielom drahšej),
- presné množstvá každej ingrediencie, keď zadáte celkové množstvo,
- kríž diagram a tabuľku zloženia aby ste videli zmes.
„Hodnota" môže byť cena, percentuálna sila alebo koncentrácia (%, mg/mL, w/v) — čokoľvek merané na jednej konzistentnej škále.
Vzorec
S lacnejšou hodnotou C, drahšou hodnotou D a cieľovou hodnotou zmesi M kde C < M < D:
Časti každej ingrediencie pochádzajú z opačného rozdielu — čím ďalej je cieľ od ingrediencie, tým viac druhej ingrediencie potrebujete. Ak viete aj celkové množstvo Q:
Kríž alligácie
Klasickým spôsobom vyloženia je „kríž": umiestnite obe ingrediencie vľavo, cieľ uprostred a odčítajte pozdĺž každej diagonály. Každý rozdiel sa dostane na opačný roh a stane sa počtom dielov tejto ingrediencie.
1 Drahšia (D) ───────┐ ┌─────── (M − C) = drahšie diely
2 ╲ ╱
3 Cieľ (M)
4 ╱ ╲
5 Lacnejšia (C) ─────┘ └─────── (D − M) = lacnejšie diely
6Odpracovaný príklad
Zmiešajte ingrediencou za 30 na predaj za $20:
Rovnaké diely. Pre celkom 100 jednotiek, to sú 50 lacnejšej a 50 drahšej — a zmiešaná hodnota je presne 25 a pomer sa stane 5 : 15 = 1 : 3: čím bližšie je cieľ k drahšej hodnote, tým viac drahšej ingrediencie potrebujete.
Alligácia striedavá vs. alligácia mediálna
- Alligácia striedavá (čo robí tento nástroj) — viete hodnoty dvoch ingrediencií a cieľ, a riešite pomer.
- Alligácia mediálna — viete množstvá a hodnoty ingrediencií, a riešite výslednú hodnotu zmesi. To je len vážený priemer: .
Dvaja sú vzájomné inverzie, čo je praktický spôsob na overenie vašej práce: zadajte množstvá, ktoré vám nástroj dá späť do váženého priemeru a mali by ste dosiahnuť váš cieľ.
Kde sa používa
- Farmaceutické zmiešavanie — zmiešajte prípravu vysokej a nízkej sily (napr. 70% a 20% roztok) do predpísanej koncentrácie. Hodnoty sú percentá alebo mg/mL namiesto dolárov; aritmetika je rovnaká.
- Podnikanie a ceny — zmiešajte lacný a prémiumný tovar na dosiahnutie cieľovej jednotkovej ceny alebo predajnej ceny.
- Chémia a potraviny/nápoje — zrieďujte alebo posilňujte na cieľovú koncentráciu, dôkaz alebo Brix.
Keďže pravidlo potrebuje iba jednu hodnotu na konzistentnej škále, rovnaké tri vstupy pokrývajú všetky tieto.
Ako to používať
- Zadajte lacnú hodnotu, drahú hodnotu a cieľovú hodnotu zmesi (akákoľvek konzistentná jednotka).
- Voliteľne zadajte celkové množstvo aby ste dostali presné množstvo každej ingrediencie.
- Prečítajte si pomer, zjednodušený pomer a množstvá; kríž diagram a donut ukazujú rozdelenie.
Vstupy sa synchronizujú na URL stránky, takže si môžete označiť alebo zdieľať presné nastavenie. Cieľ musí ležať striktne medzi hodnotami dvoch ingrediencií — inak žiadna zmes nich nemôže dosiahnuť, a nástroj to povie.
Vypočítajte to v kóde
Každý úryvok berie lacnú hodnotu c, drahú hodnotu d, cieľ m a celkové množstvo q, a vracia dva diely a dve množstvá.
Excel
Predpokladajúc C2 = lacnejšia, D2 = drahšia, M2 = cieľ, Q2 = celkové množstvo:
1=D2-M2 ' lacnejšie diely (D − M)
2=M2-C2 ' drahšie diely (M − C)
3=(D2-M2)/((D2-M2)+(M2-C2))*Q2 ' lacnejšie množstvo
4=(M2-C2)/((D2-M2)+(M2-C2))*Q2 ' drahšie množstvo
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}
6Často kladené otázky
Čo ak cieľ nie je medzi dvoma hodnotami? Potom žiadna zmes týchto dvoch nemôže dosiahnuť — zmes 30 položky sa vždy nachádza medzi 30. Nástroj to označí namiesto vrátenia falošného pomeru.
Záleží na jednotke? Nie. Pomer závisí len od rozdielov na jednej konzistentnej škále, takže ceny, percentá a mg/mL všetko funguje — stačí držať všetky tri vstupy v tej istej jednotke.
Môžem to použiť na tri alebo viac ingrediencií? Tento nástroj zvláda prípad dvoch ingrediencií. Problémy s tromi alebo viacerými komponentami majú mnoho platných odpovedí a zvyčajne sa riešia páraním ingrediencií alebo lineárnymi rovnicami.
Je alligácia to isté ako vážený priemer? Sú to inverzie. Vážený priemer (alligácia mediálna) premení množstvá na hodnotu zmesi; alligácia striedavá premení cieľovú hodnotu na množstvá.
Zdroje
- Alligation — Wikipedia — definitions of alligation alternate and medial and the underlying rule.
- Alligation Calculator — Omni Calculator — the concentration-based form used in pharmacy, with worked examples.
- Pharmaceutical calculations by alligation method — EGPAT — first-principles walkthrough of the alligation cross for compounding.