싼 재료와 비싼 재료(또는 낮은 농도와 높은 농도)를 혼합하여 목표 값에 맞추는 비율을 찾고, 각각의 정확한 양을 구합니다. 계산된 교차 다이어그램이 있는 무료 혼합 계산 역 계산기입니다.
이 계산기는 혼합 수학 문제를 해결하는 데 도움을 줍니다. 더 저렴한 재료와 더 비싼 재료의 가격, 그리고 원하는 혼합 가격을 입력하세요. 계산기가 재료를 혼합해야 할 비율을 결정해 줍니다.
서로 다른 가치의 두 가지가 있습니다 — 싼 것과 비싼 것 — 그리고 이 둘을 섞어서 그 사이의 어떤 목표 가치를 가진 혼합물을 만들고 싶습니다. 혼합 계산은 각각 얼마나 많이 사용해야 하는지 알려줍니다.
시소를 생각해보세요. 목표 가치는 지렛점입니다. 목표 가치에서 멀리 떨어진 재료는 적은 양이어야 하고, 가까운 것은 많은 양이어야 균형이 맞습니다. 혼합 계산은 그 균형의 산술일 뿐입니다.
세 개의 숫자를 입력하세요 — 싼 가치, 비싼 가치, 목표 — 그러면 도구는 다음을 제공합니다:
"값"은 가격, 백분율 농도, 또는 농도(%, 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
630 재료를 섞어서 $20에 판매하고 싶으면:
같은 양입니다. 총 100단위의 경우, 싼 것 50, 비싼 것 50 — 혼합 가치는 정확히 25로 이동하면 비율은 5 : 15 = 1 : 3이 됩니다: 목표가 비싼 재료 값에 가까울수록 더 많은 비싼 재료가 필요합니다.
두 가지는 서로의 역이므로 작업을 확인하는 좋은 방법입니다: 이 도구가 제공하는 양을 가중 평균에 다시 입력하면 목표에 도달해야 합니다.
규칙은 하나의 일관된 척도에서 단 하나의 값만 필요하므로, 같은 세 입력이 이 모든 것을 커버합니다.
입력은 페이지 URL과 동기화되므로 정확한 설정을 북마크하거나 공유할 수 있습니다. 목표는 두 재료 값 사이에 엄격하게 있어야 합니다 — 그렇지 않으면 둘의 혼합이 목표에 도달할 수 없고, 도구는 그렇다고 말합니다.
각 스니펫은 싼 값 c, 비싼 값 d, 목표 m, 총 수량 q를 가져가고, 두 부분과 두 양을 반환합니다.
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개 이상의 구성 요소 문제는 많은 유효한 답변이 있고 보통 재료를 짝짓거나 선형 방정식으로 풉니다.
혼합 계산은 가중 평균과 같습니까? 그들은 역입니다. 가중 평균(혼합 계산 정)은 양을 혼합 값으로 바꾸고; 혼합 계산 역은 목표 값을 양으로 바꿉니다.
귀하의 워크플로에 유용할 수 있는 더 많은 도구를 발견하세요.