希釈に加える水の量の計算機
加える水の量が正確に分かります。2 Mの原液100 mLを0.5 Mにするには水300 mLが必要で、合計400 mLになります。希釈倍率もあわせて表示され、この例では4です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 初期
- 2
- 初期体積
- 100
- 目標濃度
- 0.5
- 水の量
- 300
- 最終体積
- 400
- 希釈倍率
- 4
原液に純水を加えて希釈すると、体積は増えますが溶質の量は変わらないため、濃度と体積の積は保存されます。初期濃度C1、初期体積V1、より低い目標濃度C2が与えられたとき、最終体積はV2=C1×V1/C2となり、加える水の量は単にV2−V1、すなわちV1×(C1/C2−1)です。この計算機はこれら3つの数値を受け取り、加える水の量、最終体積、無次元の希釈倍率C1/C2を返し、目標濃度が原液より高い場合は拒否します。これにより、濃縮プロトコルが単純な水での希釈と誤って扱われることはありません。
質量収支から導かれる希釈水の体積
濃度C1・体積V1で既知量の溶質を含む均一な溶液から始めます。純水は体積を増やしますが溶質は増やさないため、希釈の前後でC×Vの積は一定です。つまりC1×V1=C2×V2です。
最終体積について解くと、V2=C1×V1/C2となります。注ぐべき水の量は差分V_water=V2−V1であり、便利な形に整理するとV_water=V1×(C1/C2−1)です。比C1/C2が希釈倍率で、原液が目標の4倍の濃さなら、原液1体積に対して水3体積が必要で、合計4体積の希釈液が得られます。
濃度と体積の単位は内部で整合している必要があります(ミリモルならミリリットル、モルならリットル)が、水の式自体は比の中で無次元であり、V1に使ったのと同じ単位で体積を返します。入力は有限でなければならず、NaNとInfinityは拒否されます。非正の原液濃度、初期体積、目標濃度も同じ物理的理由で拒否されます。
C2がC1に等しい場合、水の量はちょうどゼロになり、これはエラーではなく有効な無操作です。
希釈水計算機が実務で登場する場面
中等教育や大学の一般化学の授業では、原液ボトルから指定されたモル濃度に達するまでに加える水の量を求める単純な希釈問題が絶えず出題されます。水の量・最終体積・希釈倍率を返す信頼できる単一のオラクルがあれば、採点とデモの準備が速くなります。分析・品質ラボは認証原液を溶媒で希釈して作業標準液を調製し、フラスコを風袋引きする前に正確な理論体積を必要とします。
プロセス・処方チームは、濃縮液が純粋な希釈剤のみでラベル表示濃度に達する必要がある場合に、バッチレシピをスケーリングします。臨床・研究のウェットラボでは、緩衝液濃縮物、培地原液、測定試薬をベンチで日常的に希釈しており、誰かが誤って原液より濃い目標を入力したときの強い拒否が役立ちます。
今後、多段階の逐次希釈系列、水以外の2溶液の混合、モル濃度と質量濃度の単位換算が必要になった場合は、この希釈水計算ページに詰め込むのではなく、別の検索意図とランディングとして扱ってください。
活用例
宿題・試験の解答作成
C1・V1・C2の教科書問題について水の量、最終体積、希釈倍率を生成し、教師と自動採点が同じ正解基準を共有できます。
作業標準液の調製
認証原液を文書化された測定濃度まで希釈する際に、加える純粋な希釈剤の量を計算します。
よくある質問
水の量はどのように計算されますか?
質量収支C1·V1 = C2·V2から求めます。加える水はV_water = V2 − V1 = V1·(C1/C2 − 1)で、C1は初期濃度、V1は初期体積、C2は目標濃度です。
目標濃度が原液より高い場合はどうなりますか?
水を加える操作は希釈しかできず、初期濃度を超える目標は単純希釈では実現できません。
目標濃度が初期濃度と等しい場合は?
水の量はゼロになり、最終体積は初期体積と等しくなります。これはエラーではなく、有効な無操作の希釈です。
どの単位を使うべきですか?
整合した組み合わせなら何でも構いません。C1とC2の濃度単位は一致している必要があり、V1(および返される水・最終体積)の単位はmL、Lなど任意の体積単位で構いません。比C1/C2は無次元です。
4倍に薄めるには水をどれだけ加えますか?
原液1に対して水3を加え、合計4にします。一般には、加える水の量は初めの体積に、希釈倍率から1を引いた値を掛けたもので、初めの体積と同じ単位で返ります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/dilution-water-added \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_concentration":2,"initial_volume":100,"target_concentration":0.5}'const res = await fetch("https://api.kit.forhosting.com/chem/dilution-water-added", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_concentration": 2,
"initial_volume": 100,
"target_concentration": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/dilution-water-added",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_concentration": 2,
"initial_volume": 100,
"target_concentration": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/dilution-water-added", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_concentration":2,"initial_volume":100,"target_concentration":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_concentration":2,"initial_volume":100,"target_concentration":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/dilution-water-added", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"initial_concentration": 2,
"initial_volume": 100,
"target_concentration": 0.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.dilution_water_added",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
質量収支から導かれる希釈水の体積
この計算機は乱数シード、時刻、ネットワーク呼び出しのない決定的な浮動小数点演算でこの閉形式を評価するため、同じ入力からは常に同じJSONが得られます。目標濃度が初期濃度を厳密に上回る場合、水を加えても濃度は下がるだけで上がらないため、invalid_inputで早期に失敗します。
送信する内容と返ってくる内容
教科書の典型的な確認例として、100 mLの2 M原液を0.5 Mまで希釈する場合、300 mLの水が必要で最終体積は400 mLになります。また、C1がC2の10倍である1対10スタイルの希釈も同様です。必須フィールドを3つ送信します。initial_concentrationは、プロトコルで使用する濃度単位での有限の正の数としての原液濃度C1です。initial_volumeは、ミリリットルやリットルなど対応する体積単位での有限の正の数としての溶液の初期体積V1です。target_concentrationはC1と同じ単位の希釈後の目標濃度C2で、正かつC1以下である必要があります。欠落フィールド、非数値の文字列、NaN、Infinity、非正のC1・V1・C2、および初期濃度を超える目標は、invalid_inputで失敗し、課金されません。成功時、レスポンスは整形済みの初期濃度、初期体積、目標濃度に加え、V1と同じ単位のwater_volume、V1に水を加えたfinal_volume、C1/C2に等しいdilution_factor、監査証跡用のformulaとmethodラベルを返します。成功したAPI呼び出しの料金は公開されている基本単価$0.002/件で、検証失敗はプリペイド残高を消費しません。
希釈水計算機が実務で登場する場面
この機能は純粋なparseエンジンであるため、API料金は公開基本単価の$0.002/成功件で、検証失敗は残高を消費しません。
連携の活用例
バッチ・緩衝液の調製シート
濃縮液レシピ用の追加水量を一括生成し、C2がC1を超えるミスを厳格なinvalid_inputで拒否します。
技術的な質問
料金はいくらですか?
ブラウザツールは無料でローカルで動作します。APIリクエストはプリペイドのKIT残高から$0.002/成功件で消費され、無効な入力は課金されません。