ماشین حساب تقسیمگری — نسبت مخلوط و مقادیر
نسبت برای مخلوطکردن جزء ارزانتر و گرانتر (یا غلظت کم و بالا) را برای رسیدن به مقدار هدف پیدا کنید، به اضافه مقدار دقیق هر کدام. ماشین حساب تقسیمگری-متناوب رایگان با نمودار متقاطع محاسبه شده.
ماشین حساب تقسیمگری
مقدار جزء ارزانتر، جزء گرانتر (گرانتر)، و مقدار مخلوط هدف را وارد کنید. ابزار نسبتی را برمیگرداند که آنها را مخلوط کنید — و مقادیر دقیق اگر مقدار کل را بدهید.
مقادیر ورودی
نتایج
نسبت مخلوطکردن
مقادیر
نمودار متقاطع تقسیمگری
فرمول تقسیمگری
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مثال محاسبه شده
درمخلوط یک جزء 10 دلاری و یک جزء 30 دلاری برای فروش 20 دلار:
اجزاء برابر. برای 100 واحد کل، این 50 از ارزانتر و 50 از گرانتر است — و مقدار مخلوط دقیقاً 20 دلار است. هدف را به 25 دلار منتقل کنید و نسبت 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سوالات متداول
اگر هدف بین دو مقدار نباشد؟ سپس هیچ مخلوط از آن دو نمیتواند به آن برسد — مخلوط 10 دلار و 30 دلار همیشه بین 10 تا 30 دلار میافتد. ابزار این را پرچم میدهد به جای برگرداندن یک نسبت نادرست.
واحد اهمیت دارد؟ خیر. نسبت فقط به تفاوتها در یک مقیاس منسجم بستگی دارد، بنابراین قیمتها، درصدها و mg/mL همه کار میکنند — فقط تمام سه ورودی را در یک واحد نگه دارید.
میتوانم از آن برای سه یا بیشتر اجزاء استفاده کنم؟ این ابزار حالت دو جزء را کنترل میکند. مسائل با سه یا بیشتر اجزاء پاسخهای معتبری داشته و معمولاً با جفتکردن اجزاء یا معادلات خطی حل میشوند.
آیا تقسیمگری همان میانگین وزنی است؟ معکوس هستند. میانگین وزنی (تقسیمگری میانه) مقادیر را به مقدار مخلوط تبدیل میکند؛ تقسیمگری متناوب مقدار هدف را به مقادیر تبدیل میکند.
منابع
- Alligation — Wikipedia — تعاریف تقسیمگری متناوب و میانه و قاعده زیربنایی.
- Alligation Calculator — Omni Calculator — شکل مبتنیبر غلظت استفاده شده در داروایی، با نمونههای محاسبه شده.
- Pharmaceutical calculations by alligation method — EGPAT — راهنمایی اصول اولیه نمودار متقاطع تقسیمگری برای ترکیب.