혼합 계산기 — 혼합 비율 & 수량
혼합 계산기는 값이 다른 두 재료, 또는 농도가 다른 두 용액을 목표 값에 맞춰 섞을 비율을 혼합 규칙 공식으로 구한다. 각 재료에서 필요한 정확한 양도 함께 계산하며, 교차 다이어그램으로 과정을 보여주어 약국 배합이나 용액 희석 작업에 쓰인다.
혼합 계산기
싼 재료의 값, 비싼(더 비싼) 재료의 값, 목표 혼합 값을 입력하세요. 도구는 이들을 혼합할 비율을 반환합니다 — 그리고 총 수량을 주면 정확한 양을 반환합니다.
입력 값
결과
혼합 비율
수량
혼합 교차
혼합 공식
10.00 : 10.00 = (30.00 − 20.00) : (20.00 − 10.00)
혼합 구성
문서화
이 계산기가 하는 것 (쉽게 설명)
서로 다른 가치의 두 가지가 있습니다 — 싼 것과 비싼 것 — 그리고 이 둘을 섞어서 그 사이의 어떤 목표 가치를 가진 혼합물을 만들고 싶습니다. 혼합 계산은 각각 얼마나 많이 사용해야 하는지 알려줍니다.
시소를 생각해보세요. 목표 가치는 지렛점입니다. 목표 가치에서 멀리 떨어진 재료는 적은 양이어야 하고, 가까운 것은 많은 양이어야 균형이 맞습니다. 혼합 계산은 그 균형의 산술일 뿐입니다.
세 개의 숫자를 입력하세요 — 싼 가치, 비싼 가치, 목표 — 그러면 도구는 다음을 제공합니다:
- 혼합 비율 (예: 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이 됩니다: 목표가 비싼 재료 값에 가까울수록 더 많은 비싼 재료가 필요합니다.
혼합 계산: 역혼합 vs. 정혼합
- 혼합 계산 역(이 도구가 하는 것) — 두 재료의 값과 목표를 알고 있고, 비율을 풉니다.
- 혼합 계산 정 — 재료의 양과 값을 알고 있고, 결과 혼합물 값을 풉니다. 이것은 그냥 가중 평균: 입니다.
두 가지는 서로의 역이므로 작업을 확인하는 좋은 방법입니다: 이 도구가 제공하는 양을 가중 평균에 다시 입력하면 목표에 도달해야 합니다.
어디에 사용되나요
- 약국 배합 — 높은 농도와 낮은 농도의 제제를 섞기(예: 70%과 20% 용액) 규정된 농도로. 값은 달러 대신 백분율 또는 mg/mL입니다; 산술은 동일합니다.
- 비즈니스 & 가격 책정 — 싼 재고와 프리미엄 재고를 섞어서 목표 단위 비용이나 판매 가격에 맞추기.
- 화학 & 식음료 — 목표 농도, 도수, 또는 브릭스로 희석하거나 강화하기.
규칙은 하나의 일관된 척도에서 단 하나의 값만 필요하므로, 같은 세 입력이 이 모든 것을 커버합니다.
사용 방법
- 싼 값, 비싼 값, 목표 혼합 값을 입력하세요(일관된 단위).
- 선택적으로 총 수량을 입력하여 각 재료의 정확한 양을 얻으세요.
- 비율, 단순화된 비율, 수량을 읽으세요; 교차 다이어그램과 도넛이 분할을 보여줍니다.
입력은 페이지 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 모두 작동합니다 — 세 입력 모두를 같은 단위로 유지하세요.
세 개 이상의 재료에 사용할 수 있습니까? 이 도구는 2가지 재료 경우를 처리합니다. 3개 이상의 구성 요소 문제는 많은 유효한 답변이 있고 보통 재료를 짝짓거나 선형 방정식으로 풉니다.
혼합 계산은 가중 평균과 같습니까? 그들은 역입니다. 가중 평균(혼합 계산 정)은 양을 혼합 값으로 바꾸고; 혼합 계산 역은 목표 값을 양으로 바꿉니다.
출처
- Alligation — Wikipedia — 혼합 계산 역과 정의 및 기본 규칙.
- Alligation Calculator — Omni Calculator — 약국에서 사용되는 농도 기반 형식, 계산 예제 포함.
- Pharmaceutical calculations by alligation method — EGPAT — 배합을 위한 혼합 교차의 1단계 설명.