定在波計算ツール
長さ1 mの弦が第2高調波で振動するとき、波長は1 mで、節は0、0.5、1 mの位置にあります。高調波の次数と弦の長さを入力すると、波長とすべての節と腹の位置が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 高調波次数 n
- 2
- 長さ
- 1
- 波長
- 1
- 節位置
- 0, 0.5, 1
- 腹位置
- 0.25, 0.75
- 節の個数
- 3
両端が固定された弦の定在波とは、同じ形の進行波が互いに逆向きに進み、干渉によって動かない点と最大振幅で振動する点が生じる共鳴パターンです。この固定された零点が節であり、変位が最大になる中点が腹です。長さ L と高調波次数 n(モードの番号で、基本波では n が 1 です)に対して、波長は常に 2L/n で、節は 0 から L まで L/n の整数倍の位置に並びます。この計算ツールは、その波長、順序付きの節位置の一覧、対応する腹位置、節と腹の個数、ループ数、そして隣接する節間の一定の間隔を、シミュレーションやネットワークを使わない純粋な閉形式モデルから返します。長さゼロは、逆数の幾何が定義されないため、明確なバリデーションエラーで拒否されます。
両端固定の弦における定在波の幾何
長さ L の柔らかい弦を考え、両端が固定されており、任意の時刻で x が 0 と x が L の変位が常に 0 であるとします。高調波次数 n の純粋な定在波は、弦の長さにちょうど n 個の半波長を収めます。これは L が n 倍の lambda/2、すなわち lambda が 2L/n であることと同じ意味です。
両端は動けないため、常に節になります。内部の節は、モード形状 sin(nπx/L) が 0 になる位置、つまり 0 から n までのすべての整数 k について x = k·L/n の位置に現れ、合計で n+1 個の節位置になります。腹は隣接する節の中点にあり、j を 1 から n として x = (2j−1)·L/(2n) の位置に n 個存在します。
隣接する節間の一様な間隔は L/n で、半波長に等しくなります。n が 1 の基本波には両端の 2 つの節と中央の 1 つの腹しかありません。第 2 高調波では中央に節が 1 つ増え、腹が 2 つになります。
より高次の高調波では、次数が 1 つ上がるごとに内部の節と腹が 1 つずつ増えます。この機能はまさにこの両端固定の幾何を実装したものです。張力、線密度、波の速さは不要です。
これらは lambda が決まった後の振動数と周期を決める量であり、節位置と波長は純粋に幾何だけで決まるからです。入力は有限値でなければならず、長さは厳密に正、高調波次数は正の整数である必要があります。
送信する内容と返ってくる内容
長さが 0 または負の場合は、定在波の波長と節位置には L が 0 より大きい必要があるというメッセージで失敗します。正でない、または整数でない高調波次数も失敗します。分数のモードを両端固定の共鳴であるかのように誤って要求することができないためです。
教科書の定番の確認例としては、n が 1、L が 1 で波長 2、節が 0 と 1。n が 2、L が 1 で波長 1、節が 0、0.5、1。n が 3、L が 1.5 で波長 1、0.5 刻みの 4 つの節、などがあります。
宿題や実験の準備には無料のブラウザフォームを使い、大量の解答キーが必要なときはスクリプトから同一のコントラクトを呼び出してください。
定在波の節計算が実務で使われる場面
中学校・高校・大学の物理の授業では、固定弦の定在波の問題が頻繁に出題されます。第 3 高調波の概形を描き、すべての節を記し、測定した長さから波長を計算し、隣接する節の間隔を半波長と比較する課題です。ストロボ光の下で振動する弦を撮影する実験レポートでは、学生の測定値を採点する前に、予測される節座標が必要です。
ギター、バイオリン、ピアノの教育では、フレットとハーモニクスを同じ n と L の幾何で説明し、楽器製作者は計算した腹がピックアップやブリッジセンサーの下に来ることを確認します。プログラミングコンテストや面接のウォームアップ問題でも、モードの個数が弦やロープの制約の下に隠され、大雑把な図ではなく正確な位置が求められることがあります。
オフラインのワークシートとオンラインの自動採点がずれないようにするためです。後で周期から振動数への変換、2 つの音のうなりの周波数、デシベルでの音の強さ、開端管の共鳴が必要になった場合は、この固定弦の定在波計算ページに詰め込むのではなく、別の検索意図とランディングページとして扱ってください。
活用例
宿題用の節と波長の解答キー
教科書の固定弦の高調波について λ = 2L/n とすべての節位置を生成し、教師と自動採点が同じ基準を共有できるようにします。
弦振動の実験準備
実験室でのストロボ撮影やスマートフォンのスローモーション撮影の前に、測定した弦長での節と腹の座標を予測します。
楽器の倍音の幾何
開放弦の倍音がフレット、ピックアップ、ブリッジセンサーに対して節と腹をどこに置くかを、完全な波動方程式を解かずに確認します。
よくある質問
長さがゼロの場合はどうなりますか?
波長 λ = 2L/n と節位置には、有限で正の弦長 L > 0 が必要です。
メートルではなくセンチメートルを使えますか?
はい。 長さは単位に依存しません。節位置と波長は L に送ったのと同じ単位で返されます。
料金はいくらですか?
ブラウザツールは無料でローカルで動作します。無効な入力は課金されません。
それぞれの高調波には節と腹がいくつありますか?
n次の高調波には、両端を含めてn+1個の節と、n個の腹があります。基本振動は両端の2つの節と中央の1つの腹だけで、次数が1つ上がるごとに節と腹が1つずつ増えます。
弦の張力や波の速さを入力しなくてよいのはなぜですか?
波長と節の位置は幾何学だけで決まるためです。張力、線密度、波の速さは、波長が決まったあとの振動数や周期に関わるもので、節の位置には長さと次数だけが影響します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/phys/standing-wave \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"harmonic":2,"length":1}'const res = await fetch("https://api.kit.forhosting.com/phys/standing-wave", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"harmonic": 2,
"length": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/standing-wave",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"harmonic": 2,
"length": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/standing-wave", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"harmonic":2,"length":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"harmonic":2,"length":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/standing-wave", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"harmonic": 2,
"length": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.standing_wave",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料 API は同じ同型関数を共有しているため、授業のデモ、レポート、自動採点の解答キーが同じ n と L で食い違うことはありません。
両端固定の弦における定在波の幾何
NaN、Infinity、長さゼロ、非整数のモードは、パターンをでっち上げるのではなく invalid_input として失敗します。
送信する内容と返ってくる内容
送信するフィールドは 2 つです。モード番号を表す正の整数 n の harmonic と、答えを表現したい長さの単位での有限の正の数 L の length です。高調波には別名 n、mode、harmonic_number が、長さには L、l、string_length が受け付けられます。フィールドの欠落、数値でない文字列、NaN、Infinity は invalid_input として失敗し、課金されません。成功時のレスポンスには、整形済みの harmonic と length、2L/n に等しい wavelength、左端から右端まで順序付けられた配列の node_positions、節の間にある antinode_positions、n+1 に等しい node_count、n に等しい antinode_count、n に等しい loop_count、L/n に等しい node_spacing、固定を示す ends、位置が入力の長さ単位を共有することを示す単位の注記、そしてワークシート用の短い formula と relation の文字列が含まれます。成功した API 呼び出しの料金は公開基準の 1 件あたり $0.002 で、バリデーション失敗はプリペイド残高を消費しません。
定在波の節計算が実務で使われる場面
この機能は純粋な parse エンジンであるため、API の料金は公開基準の成功 1 件あたり $0.002 で、バリデーション失敗は残高を消費しません。
技術的な質問
この定在波計算ツールはどの式を使いますか?
両端固定の弦では、波長は λ = 2L/n、節は k = 0…n について x_k = k·L/n、腹は j = 1…n について x_j = (2j−1)·L/(2n) です。隣接する節の間隔は L/n = λ/2 です。
両端の節も含まれますか?
はい。固定端は常に節なので、node_positions は常に 0 で始まり L で終わり、高調波次数 n に対して合計 n+1 個の要素になります。