מחשבון אליגציה — יחס ערבוב וכמויות
מצא את היחס לערבב מרכיב זול ויקר (או ריכוז נמוך וגבוה) כדי לפגוע בערך יעד, בתוספת הכמות המדויקת של כל אחד. מחשבון אליגציה חלופית בחינם עם דיאגרמת צלב עובדת.
מחשבון אליגציה
הכנס את ערך המרכיב הזול יותר, המרכיב היקר יותר (יותר יקר), וערך תערובת היעד. הכלי מחזיר את היחס שבו לערבב אותם — והכמויות המדויקות אם אתה נותן כמות כוללת.
ערכי קלט
תוצאות
יחס ערבוב
כמויות
צלב אליגציה
נוסחת אליגציה
10.00 : 10.00 = (30.00 − 20.00) : (20.00 − 10.00)
הרכב תערובת
תיעוד
מה המחשבון הזה עושה (ELI5)
יש לך שני דברים בערך שונה — אחד זול ואחד יקר — ואתה רוצה לערבב אותם לתערובת שהערך שלה הוא בערך יעד כלשהו בין השניים. אליגציה אומרת לך כמה מכל אחד להשתמש.
תחשוב על נדנדה. ערך היעד הוא הציר. המרכיב שערכו רחוק מהיעד חייב להיות קטן בכמות, והאחד קרוב לליעד חייב להיות גדול, כדי ששני הצדדים יהיו מאוזנים. אליגציה היא פשוט החשבון של האיזון הזה.
הקלד שלוש מספרים — הערך הזול יותר, הערך היקר יותר, והיעד — והכלי נותן לך:
- את יחס הערבוב (למשל 1 : 2, כלומר 1 חלק זול לעומת 2 חלקים יקרים),
- את הכמויות המדויקות של כל מרכיב ברגע שאתה מכניס כמות כוללת,
- דיאגרמת צלב ותרשים הרכב כדי שתוכל לראות את התערובת.
"ערך" יכול להיות מחיר, אחוז כוח או ריכוז (%, mg/mL, w/v) — כל דבר שנמדד בסולם אחד עקבי.
הנוסחה
עם ערך זול יותר C, ערך יקר יותר D, וערך תערובת יעד M כאשר C < M < D:
החלקים של כל מרכיב באים מהפרש הנגדי — ככל שהיעד רחוק יותר מרכיב, כך יותר מהמרכיב האחר אתה צריך. אם אתה גם יודע את הכמות הכוללת Q:
צלב האליגציה
הדרך הקלסית לסדר זה היא "הצלב": שים את שני ערכי המרכיבים משמאל, היעד באמצע, והחסר לאורך כל אלכסון. כל הפרש נוחת בפינה הנגדית והופך לחלקים של המרכיב הזה.
1 Dearer (D) ───────┐ ┌─────── (M − C) = dearer parts
2 ╲ ╱
3 Target (M)
4 ╱ ╲
5 Cheaper (C) ───────┘ └─────── (D − M) = cheaper parts
6דוגמה עובדת
ערבב מרכיב של 30 כדי למכור ב-$20:
חלקים שווים. ל-100 יחידות בסך הכל, זה 50 מהזול יותר ו-50 מהיקר יותר — וערך התערובת הוא בדיוק 25 והיחס הופך ל-5 : 15 = 1 : 3: ככל שהיעד קרוב יותר לערך היקר יותר, כך יותר מרכיב יקר תזדקק.
אליגציה חלופית לעומת אליגציה חציונית
- אליגציה חלופית (מה הכלי הזה עושה) — אתה יודע את שני ערכי המרכיבים והיעד, ואתה פותר את היחס.
- אליגציה חציונית — אתה יודע את הכמויות והערכים של המרכיבים, ואתה פותר את ערך התערובת המתקבל. זה פשוט הממוצע המשוקלל: .
השניים הם היפוכים זה של זה, וזו דרך שימושית לבדוק את עבודתך: הזן את הכמויות שהכלי הזה נותן לך בחזרה לממוצע משוקלל ואתה צריך להנחית את היעד שלך.
איפה זה משמש
- הרכב בפרמציה — ערבב הכנה בעוצמה גבוהה וגבוהה נמוכה (למשל תמיסה של 70% ו-20%) לריכוז מינוי. הערכים הם אחוזים או mg/mL במקום דולרים; החשבון זהה.
- עסקים ותמחור — ערבב מלאי זול ופרמיום כדי לפגוע בעלות יחידה או מחיר מכירה.
- כימיה ומזון/משקאות — התמיסו או הגבר לריכוז יעד, הוכחה או Brix.
כיוון שהכלל צריך רק ערך יחיד בסולם עקבי, אותם שלוש הקלטות מכסות את כל אלה.
איך להשתמש בו
- הכנס את ערך הזול יותר, את ערך היקר יותר, וערך תערובת היעד (כל יחידה עקבית).
- בחירה אופציונלית הכנס את הכמות הכוללת כדי להשיג את הכמות המדויקת של כל מרכיב.
- קרא את היחס, היחס המפושט, והכמויות; הדיאגרמה הצולבת והרטוט מראים את הפיצול.
קלטות מסתנכרנות לכתובת ה-URL של הדף, כך שתוכל לסימניה או לשתף הגדרה מדויקת. היעד חייב להיות בין שני ערכי המרכיבים — אחרת לא ניתן להשיגו על ידי תערובת שלהם, והכלי אומר את זה.
חשב את זה בקוד
כל קטע לוקח את הערך הזול יותר c, ערך יקר יותר d, יעד m, וכמות כוללת q, ומחזיר את שני החלקים ואת שני הכמויות.
Excel
בהנחה ש-C2 = זול יותר, D2 = יקר יותר, M2 = יעד, Q2 = כמות כוללת:
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}
6שאלות שנשאלות לעתים קרובות
מה אם היעד לא בין שני הערכים? אז לא תערובת שלהם יכולה להגיע אליו — ערבוב של פריט של 30 תמיד נוחת בין 30. הכלי דגל בזה במקום להחזיר יחס בוגדני.
האם היחידה משנה? לא. היחס תלוי רק בהבדלים בסולם אחד עקבי, כך שמחירים, אחוזים, ו-mg/mL כולם עובדים — פשוט שמור את כל שלוש הקלטות באותה יחידה.
האם אוכל להשתמש בו עבור שלוש או יותר מרכיבים? הכלי הזה מטפל במקרה של שני מרכיבים. בעיות עם שלוש או יותר רכיבים יש תשובות תקפות רבות ובדרך כלל נפתרות על ידי זיווג מרכיבים או עם משוואות ליניאריות.
האם אליגציה זהה לממוצע משוקלל? הם היפוכים. ממוצע משוקלל (אליגציה חציונית) הופך כמויות לערך תערובת; אליגציה חלופית הופך ערך יעד לכמויות.
מקורות
- Alligation — Wikipedia — הגדרות של אליגציה חלופית וחציונית והכלל הבסיסי.
- Alligation Calculator — Omni Calculator — הצורה המבוססת על ריכוז המשמשת בפרמציה, עם דוגמאות עובדות.
- Pharmaceutical calculations by alligation method — EGPAT — הליכה עקרונות ראשונים של הצלב אליגציה להרכב.