เครื่องคำนวณ Alligation — อัตราส่วนการผสม & ปริมาณ
ค้นหาอัตราส่วนที่ใช้ผสมวัตถุดิบราคาถูกและราคาแพง (หรือความเข้มข้นต่ำและสูง) เพื่อให้ถึงค่าเป้าหมาย และปริมาณที่แน่นอนของแต่ละอย่าง เครื่องคำนวณ alligation-alternate ฟรีพร้อมแผนภาพกากบาทที่ได้ผล
เครื่องคำนวณ Alligation
ป้อนค่าของวัตถุดิบราคาถูก วัตถุดิบราคาแพง (แพงกว่า) และค่าผสมเป้าหมาย เครื่องมือจะส่งกลับอัตราส่วนที่ใช้ผสม — และปริมาณที่แน่นอนหากคุณให้ปริมาณรวม
ค่าอินพุต
ผลลัพธ์
อัตราส่วนการผสม
ปริมาณ
กากบาท Alligation
สูตร Alligation
10.00 : 10.00 = (30.00 − 20.00) : (20.00 − 10.00)
องค์ประกอบของส่วนผสม
เอกสารประกอบการใช้งาน
เครื่องคำนวณนี้ทำอะไร (ให้เข้าใจง่ายๆ)
คุณมีสิ่งสองอย่างที่มีค่าต่างกัน — อันเป็นราคาถูกและอันเป็นราคาแพง — และคุณต้องการผสมมันเข้าด้วยกันเพื่อให้ได้ส่วนผสมที่มีค่าเป้าหมายที่อยู่ระหว่างกลาง การผสมแบบ Alligation บอกคุณว่า ต้องใช้ของแต่ละอย่างเท่าไหร่
ลองคิดถึงกระดานแกว่ง เป้าหมายค่านั้นคือจุดหมุน วัตถุดิบที่มีค่าไกลจากเป้าหมายต้องมีปริมาณน้อยและอันที่ใกล้กับเป้าหมายต้องมีปริมาณมากขึ้นเพื่อให้ทั้งสองด้านสมดุลกัน Alligation เป็นเพียงแค่เลขคณิตของความสมดุลนั้น
พิมพ์ตัวเลขสามตัว — ค่าราคาถูก ค่าราคาแพง และค่าเป้าหมาย — และเครื่องมือจะให้คุณ:
- อัตราส่วนการผสม (เช่น 1 : 2 หมายถึง 1 ส่วนราคาถูกต่อ 2 ส่วนราคาแพง),
- ปริมาณที่แน่นอนของส่วนผสมแต่ละอย่างเมื่อคุณป้อนปริมาณรวม,
- แผนภาพกากบาทและแผนภูมิองค์ประกอบเพื่อให้คุณเห็นส่วนผสม
"ค่า" อาจเป็นราคา เปอร์เซ็นต์ความแรง หรือความเข้มข้น (%, mg/mL, w/v) — สิ่งใดก็ตามที่วัดได้บนมาตราส่วนที่สม่ำเสมอ
สูตร
ด้วยค่าราคาถูก C ค่าราคาแพง D และค่าผสมเป้าหมาย M โดยที่ C < M < D:
ส่วนผสมของแต่ละวัตถุดิบมาจากความแตกต่างตรงข้าม — ยิ่งเป้าหมายอยู่ห่างจากวัตถุดิบมากเท่าไหร่ คุณก็ต้องใช้วัตถุดิบอื่นมากขึ้นเท่านั้น หากคุณรู้ปริมาณรวม Q ด้วย:
กากบาท Alligation
วิธีคลาสสิกในการจัดวางนี้คือ "กากบาท": วางค่าวัตถุดิบทั้งสองไว้ทางซ้าย เป้าหมายอยู่ตรงกลาง และลบออกตามแนวทแยงแต่ละเส้น ความแตกต่างแต่ละอย่างลงบนมุมตรงข้ามและกลายเป็นส่วนของวัตถุดิบนั้น
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: ยิ่งเป้าหมายใกล้ค่าราคาแพงมากเท่าไหร่ คุณก็ต้องใช้วัตถุดิบราคาแพงมากขึ้นเท่านั้น
Alligation สลับกับ alligation หลัก
- Alligation สลับ (สิ่งที่เครื่องมือนี้ทำ) — คุณรู้ค่าวัตถุดิบทั้งสองและเป้าหมาย และคุณแก้หา อัตราส่วน
- Alligation หลัก — คุณรู้ปริมาณและค่าของวัตถุดิบ และคุณแก้หาค่าผสม ที่นี่เป็นเพียงแค่ ค่าเฉลี่ยถ่วงน้ำหนัก:
ทั้งสองเป็นค่าผกผันกัน ซึ่งเป็นวิธีที่สะดวกในการตรวจสอบงาน: ส่งปริมาณที่เครื่องมือนี้ให้กลับไปเข้าค่าเฉลี่ยถ่วงน้ำหนัก และคุณควรจะถึงเป้าหมายของคุณ
ใช้ที่ไหน
- การผสมยา — ผสมเตรียมการความแรงสูงและต่ำ (เช่น สารละลายร้อยละ 70 และ 20%) เป็นความเข้มข้นที่กำหนด ค่าเป็นเปอร์เซ็นต์หรือ mg/mL มากกว่าดอลลาร์ เลขคณิตเหมือนกัน
- ธุรกิจและการกำหนดราคา — ผสมสต็อกราคาถูกและพรีเมียมเพื่อให้ได้ต้นทุนต่อหน่วยหรือราคาขายเป้าหมาย
- เคมีและอาหาร/เครื่องดื่ม — เจือจางหรือเสริมให้ถึงความเข้มข้น พิสูจน์ หรือ Brix เป้าหมาย
เนื่องจากกฎต้องการค่าเดียวบนมาตราส่วนที่สม่ำเสมอ อินพุตสามตัวเดียวกันนี้ครอบคลุมทั้งหมด
วิธีใช้
- ป้อนค่าราคาถูก ค่าราคาแพง และค่าผสมเป้าหมาย (หน่วยที่สม่ำเสมอใดก็ได้)
- ป้อนปริมาณรวมอย่างเลือกเพื่อรับปริมาณที่แน่นอนของส่วนผสมแต่ละอย่าง
- อ่านอัตราส่วน อัตราส่วนที่ลดลง และปริมาณ แผนภาพกากบาทและโดนัตแสดงการแบ่ง
อินพุตซิงค์กับ URL ของหน้า เพื่อให้คุณสามารถบุ๊กมาร์กหรือแบ่งปันการตั้งค่าที่แน่นอน เป้าหมายจะต้องอยู่อย่างเคร่งครัดระหว่างค่าวัตถุดิบทั้งสองและเครื่องมือจะบอกให้ทราบอื่น
คำนวณในโค้ด
สไนปเพตแต่ละตัวใช้ค่าราคาถูก c ค่าราคาแพง d เป้าหมาย m และปริมาณรวม q แล้วส่งกลับ 2 ส่วนและปริมาณทั้งสอง
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 เดียวกับค่าเฉลี่ยถ่วงน้ำหนักหรือไม่? พวกเขาเป็นค่าผกผัน ค่าเฉลี่ยถ่วงน้ำหนัก (alligation medial) เปลี่ยนปริมาณเป็นค่าผสม alligation สลับเปลี่ยนค่าเป้าหมายเป็นปริมาณ
แหล่งที่มา
- Alligation — Wikipedia — คำจำกัดความของ alligation สลับและ medial และกฎพื้นฐาน
- Alligation Calculator — Omni Calculator — รูปแบบตามความเข้มข้นที่ใช้ในเภสัชกรรม พร้อมตัวอย่างที่ได้ผล
- Pharmaceutical calculations by alligation method — EGPAT — บทเดินแรกของกากบาท alligation สำหรับการผสมยา