単振動の変位における速度計算
この単振動速度計算機は、指定した変位における振動子の瞬間速度の大きさを求めます。振幅、平衡位置を基準とする符号付き変位、角周波数をご入力ください。v = omega に、振幅の2乗から変位の2乗を引いた値の平方根を掛ける式を使用します。計算前に物理的な定義域も確認するため、変位がいずれかの折り返し点を越えている場合は、虚数や誤解を招く結果ではなく、明確なエラーを返します。物理学の演習や測定値の確認にも安心してお使いいただけます。
無料で実行
計算結果が表す内容をご確認ください
理想的な単振動では、物体は平衡位置の両側に振幅だけ離れた2つの折り返し点の間を往復します。速さは一定ではありません。平衡位置を通過するときに最大となり、どちらの折り返し点でもゼロになります。この計算機は v = omega sqrt(A squared minus x squared) を用いて、瞬間速度の非負の大きさを返します。ここで A は振幅、x は変位、omega は角周波数です。この式だけで得られるのは大きさであり、その瞬間に振動子が正方向と負方向のどちらへ動いているかは判定できません。通常、同じ位置を1周期中に2回、互いに反対の向きで通過します。符号付き速度を求めるには、位相または運動方向の情報も必要です。振幅と変位には必ず同じ長さの単位をお使いください。両方をメートル、omega をラジアン毎秒で入力した場合、結果はメートル毎秒になります。センチメートルを用いればセンチメートル毎秒です。この計算ではラジアンは無次元として扱われます。
同じ振動子について整合する値をご入力ください
振幅は平衡位置からの最大距離なので、ゼロ以上の値をご入力ください。変位には符号があります。平衡位置の反対側にある点は正または負で表せますが、速度の大きさは x と minus x で同じです。角周波数 omega もゼロ以上でなければなりません。通常の周波数 f が分かっている場合は omega = 2 pi f、周期 T が分かっている場合は omega = 2 pi divided by T から求められます。3つの入力はいずれも有限の数値である必要があります。特に、変位の絶対値が振幅を超えることはできません。その位置は振動子が動ける範囲の外にあり、A squared minus x squared が負になるためです。この場合、計算機は明示的にエラーを返します。変位が正または負の振幅と完全に一致する場合は有効で、折り返し点で一瞬停止することに対応して結果はゼロです。振幅がゼロなら変位もゼロだけが許可され、動かない振動子を表します。
検証内容と数値上の限界を正しくご判断ください
結果は理想モデルによる値としてお取り扱いください。この式は、角周波数が一定で、復元力が変位に比例する減衰のない単振動を仮定しています。実際のばねには摩擦、振幅の変化、非線形な剛性、測定の不確かさがあり得ます。また、振り子が単純なモデルによく従うのは振れ角が小さい場合に限られます。したがって定義域の確認には数学的・物理的な意味がありますが、特定の装置に理想モデルが適するかまでは判断しません。折り返し点の近くでは平方根の中の値が非常に小さくなるため、振幅や変位の不確かさが速度の大きな相対誤差につながる場合があります。表示されたすべての桁を実験的に有意とみなさず、測定に見合う精度をお使いください。実装では差の2乗を因数分解した (A minus absolute x) times (A plus absolute x) として評価します。これは代数的に同値で、大きく近接した値における不要なオーバーフローを抑えます。最終結果が有限の数値範囲を超える場合は Infinity を返さず、リクエストを拒否します。
活用例
ばねと質量の実験を確認する
測定した変位で予測される速さと、実験室で測った速度を比較していただけます。
物理学の問題を解く
振幅、位置、角周波数が分かった後の瞬間的な速さを計算していただけます。
シミュレーションを検証する
減衰のない振動子のシミュレーションを、位置と速さの解析的関係と照合していただけます。
よくある質問
利用料金はいくらですか?
ブラウザーでは無料でご利用いただけます。API は1リクエストあたり $0.002 です。
結果の速度が負にならないのはなぜですか?
変位だけを用いる式から分かるのは速度の大きさです。符号を決めるには、運動方向または位相も必要です。
変位が振幅と等しい場合はどうなりますか?
振動子は折り返し点で一瞬停止するため、結果はゼロになります。
振幅を超える変位が拒否されるのはなぜですか?
その位置は振動範囲の外にあり、平方根の中の式が負になるためです。
どの単位を使えばよいですか?
振幅と変位には同じ長さの単位をお使いください。omega が毎秒なら、結果はその長さの単位毎秒になります。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/shm-velocity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amplitude":5,"displacement":3,"omega":2}'const res = await fetch("https://api.kit.forhosting.com/mech/shm-velocity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amplitude": 5,
"displacement": 3,
"omega": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/shm-velocity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amplitude": 5,
"displacement": 3,
"omega": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/shm-velocity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amplitude":5,"displacement":3,"omega":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amplitude":5,"displacement":3,"omega":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/shm-velocity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"amplitude": 5,
"displacement": 3,
"omega": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.shm_velocity",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |