弦の周波数から線密度を計算
長さ0.65 m、張力80 Nで110 Hzで振動する弦の線密度は0.003912171744 kg/mです。測った周波数・長さ・張力を入力すれば、弦1メートルあたりの重さが途中の計算とともにわかります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 頻度
- 110
- 長さ
- 0.65
- 張力
- 80
- 線密度
- 0.0039121717
- 線密度の単位
- kg/m
- モデル
- ideal_taut_string_fundamental
この計算ツールは、測定した基本周波数、弦の振動部分の長さ、張力から、単位長さ当たりの質量を求めます。周波数を hertz、長さをメートル、張力を newton で入力すると、線密度を kg/m で返します。材質名や直径から推定するのではなく、理想弦の周波数関係式を線密度について解き直します。数値を代入した式と中間値も表示するため、実験、楽器弦の確認、物理演習、再現可能なソフトウェアテストにご利用いただけます。
周波数から線密度が分かる仕組み
張られた弦を伝わる横波の速度は、張力 T と線密度 μ によって決まります。両端を固定した理想弦では、基本振動の波長は振動長 L の2倍です。波速の式 v = √(T/μ) と f = v/(2L) を組み合わせると、f = (1/2L)√(T/μ) になります。
周波数、長さ、張力が既知であれば、両辺を2乗して整理することで μ = T/(2Lf)² が得られます。本ツールはこの逆算を直接行います。線密度は体積密度ではなく、単位長さ当たりの質量です。
たとえば 0.004 kg/m は、弦1メートルの質量が4グラムであることを示します。長さと密度が一定なら、張力を強めるほど周波数は高くなり、重い弦ほど慣性が大きいため周波数は低くなります。逆算式では、同じ周波数をより強い張力で保つには重い弦が必要なので、指定する張力を上げると推定線密度も増えます。
一方、周波数または長さを上げると、2乗された分母によって推定値は小さくなります。こうした傾向は結果の妥当性確認に役立ちます。応答には式、2Lf の中間値、SI の最終結果が含まれ、各段階をご確認いただけます。
測定値の入力方法と結果の読み方
有限で正の値を3つ入力してください。倍音ではなく基本周波数を使用してください。測定ピークが実際には第2倍音なのに基本周波数として入力すると、周波数が2乗されるため、推定密度は正しい値の4分の1になります。
また、自由に振動できる部分だけを測ってください。糸巻きに巻かれた部分まで含めると長さが過大になり、結果が過小になります。グラム毎メートルに直すには kg/m を 1000 倍してください。
このモデルで正の基本振動を扱うには、長さ、張力、周波数のすべてがゼロより大きい必要があります。ブラウザー版は同じ決定論的ソルバーを端末内で無料実行します。数値文字列も使えますが、単位記号や桁区切りは付けないでください。
モデルの仮定、測定品質、実用的な確認
この式は、均一で完全に柔軟な弦が一定の張力を受け、両端を固定され、小さな振幅で横振動する場合を想定しています。実際の弦はこのモデルから外れることがあります。剛性があると部分音は正確な整数倍からずれ、運動中に張力がわずかに変化することもあります。
支持点が完全な剛体でない場合や、太い弦または巻弦の端部が不均一な場合もあります。空気負荷と減衰は通常、基本周波数より減衰時間に強く影響しますが、高精度測定にはさらに詳しいモデルが必要です。これらの影響が無視できない場合、出力は振動区間における有効平均線密度として扱ってください。
測定の不確かさにも注意が必要です。μ は張力に比例し、長さと周波数の各2乗に反比例するため、長さまたは周波数の誤差率は密度結果におよそ2倍効きます。長さを慎重に測り、可能なら校正済みの張力を用い、複数回の周波数測定を平均してください。
直接確認するには、同じ弦の既知の長さを量り、質量を長さで割って比較します。さらに、返された μ を v = √(T/μ) に入れ、波速を 2L で割れば、入力した基本周波数が再現されるはずです。大きな差は、単位変換、倍音の取り違え、張力推定、または弦の不均一性に問題がある可能性を示します。
活用例
実験室で未知の弦を調べる
測定した共振周波数、既知の振動区間、校正した張力から単位長さ当たりの質量を推定できます。
楽器弦の仕様を確認する
弦長と演奏時の張力が既知なら、周波数から得た線密度をメーカー値と比較できます。
物理計算やコードを検証する
課題、シミュレーション、単体テスト向けに、再現可能な SI 結果と明示的な代入手順を生成できます。
よくある質問
周波数から弦の線密度を求める式は何ですか?
理想的な基本振動では μ = T/(2Lf)² です。T は張力、L は振動長、f は基本周波数を表します。
どの単位で入力すればよいですか?
周波数は hertz、振動長はメートル、張力は newton で入力してください。結果は kg/m で表示されます。
倍音の周波数をそのまま使えますか?
そのままでは使えません。第 n 倍音を測定した場合は、理想モデルへ入力する前に周波数を n で割ってください。
結果をkg/mからg/mに直すにはどうしますか?
1000を掛けてください。たとえば0.004 kg/mという結果は、弦1メートルあたりの質量が4グラムであることを意味します。
計算した線密度が小さすぎるのはなぜですか?
多くの場合、長さが長すぎるか、周波数が倍音です。糸巻きに巻かれた部分を含めず自由に振動する部分だけを測り、基本周波数を入力してください。誤って第2倍音を入れると、本来の値の4分の1になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/string-linear-density-from-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frequency":110,"length":0.65,"tension":80}'const res = await fetch("https://api.kit.forhosting.com/optics/string-linear-density-from-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frequency": 110,
"length": 0.65,
"tension": 80
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/string-linear-density-from-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frequency": 110,
"length": 0.65,
"tension": 80
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/string-linear-density-from-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frequency":110,"length":0.65,"tension":80}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frequency":110,"length":0.65,"tension":80}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/string-linear-density-from-frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"frequency": 110,
"length": 0.65,
"tension": 80
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.string_linear_density_from_frequency",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
測定値の入力方法と結果の読み方
frequency は測定または指定された基本周波数 f を hertz で、length は固定点間で実際に振動する長さ L をメートルで、tension は張力 T を newton で表します。応答は正規化した入力を再掲し、linear_density を kg/m で示し、ideal_taut_string_fundamental モデルと順序付きの代入手順を返します。欠落、ゼロ、負値、有限でない数、または極端な組み合わせには invalid_input を返します。成功した API リクエストの料金は $0.002 です。
技術的な質問
kg/m を g/m に変換する方法は?
linear_density を 1000 倍してください。たとえば 0.005 kg/m は 5 g/m です。
API リクエストの料金はいくらですか?
成功した API リクエストは $0.002 です。不正な入力は拒否され、ブラウザー計算は端末内で無料実行されます。