A sin(Bx) + C 方程式計算ツール
この計算ツールは、A sin(Bx) + C = 目標値という形の方程式を解き、指定された区間に含まれる実数xをすべて返します。振幅、周波数係数、垂直移動量、目標値、両端を含む区間を入力し、度またはラジアンを選択してください。係数と正弦の定義域を検証し、2つの解の系列を生成して、端点や接点で重複する解を除去します。
無料で実行
方程式と区間を一貫した形式で入力してください
方程式をA sin(Bx) + C = 目標値の形に整理し、それぞれの数値を対応する欄へ入力してください。Aは振幅、Bはxの変化に対して周期が繰り返される速さ、Cは波形全体の垂直方向の移動量を表します。AまたはBが0の場合は別種の方程式になるため、どちらにも0は指定できません。xを度で表す場合は度を、ラジアンで表す場合はラジアンを選択してください。区間の両端は含まれるため、端点と完全に一致する解も保持されます。目標値とCは角度ではなく通常の出力値であり、Cを引くことで正弦項を分離できます。精度設定は返される解の丸め方を制御しますが、数学的な定義域の検証を緩和するものではありません。各項目と区間を明示することで計算を再現可能にし、指定範囲に複数の周期解があるにもかかわらず、逆正弦の主値だけを答える誤りを防げます。
すべての解が生成される仕組みをご確認ください
まず目標値からCを引き、その結果をAで割って、正規化された正弦値を求めます。実数解が存在するのは、その値が端点を含む-1から1の範囲にある場合だけです。次に逆正弦の主値を計算し、標準的な2つの角度系列、すなわち主角に周期の整数倍を加える系列と、補角に周期の整数倍を加える系列を使用します。各系列をBで割ってxを復元します。小さな刻み幅で区間を走査するのではなく、範囲内に入り得る周期の整数インデックスを直接計算します。そのため、解の見落とし、恣意的な刻み幅、標本化による誤答を避けられます。正規化値が1または-1の場合、2系列は同じ接点を表すため、重複を削除します。結果は区間の下限から上限の順に整列されます。応答には正規化目標値、主角、xにおける周期、解の個数、区間も含まれるため、得られた規則性を独立して確認できます。
空の結果と入力検証メッセージをご理解ください
(目標値 - C)をAで割った値が正弦の範囲外にある場合や、周期解が選択区間内に1つもない場合、空の解配列は正しい数学的結果です。一方、不正な入力には入力エラーが返されます。未入力または有限でない係数、0のAまたはB、逆転した区間端点、未対応の角度単位、不正な精度、過剰な数の解を生む区間は拒否されます。負のAやBは使用できます。これらは波形を反転させますが、生成された系列のxは引き続き昇順で返されます。両端を含む仕様のため、問題が端点を明示的に除外する場合は、お客様ご自身で開区間の条件を適用してください。返される小数は指定精度に丸めた近似値ですので、その精度に適した許容誤差で元の方程式へ代入して確認してください。自動処理でのAPI料金は1リクエストあたり$0.002です。実装はネットワーク、乱数、時刻を使用しない決定的処理であり、同一の有効な入力からは常に同じ順序の結果が得られます。
活用例
三角法の課題を確認する
指定された定義域内の2つの正弦解系列を一覧にし、手計算の結果と比較できます。
周期的な時点を求める
数値走査を使わず、実用的な時間範囲における正弦波のしきい値方程式を解けます。
アプリの計算を検証する
振幅、周波数、垂直移動、有限区間を扱うテスト用に、決定的な参照解を生成できます。
よくある質問
すべての解が返されますか?
はい。両端を含む区間内にある2つの正弦解系列を返し、重複する値を除去します。
度とラジアンの両方を使用できますか?
はい。xと区間の両端には同じ角度単位を選択してください。Cは垂直方向の値です。
解が表示されないのはなぜですか?
正規化目標値が[-1, 1]の外にあるか、すべての周期解が指定区間外にある可能性があります。
AとBに負の値を指定できますか?
はい。AとBでは0だけが禁止され、負の係数も同じ厳密な解系列で処理されます。
APIの利用料金はいくらですか?
APIリクエスト1回あたり$0.002です。無料のブラウザー実行機能でも計算できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/trig/solve-asinbxc-equation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"b":1,"c":0,"target":1,"interval_min":0,"interval_max":360}'const res = await fetch("https://api.kit.forhosting.com/trig/solve-asinbxc-equation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"b": 1,
"c": 0,
"target": 1,
"interval_min": 0,
"interval_max": 360
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/solve-asinbxc-equation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"b": 1,
"c": 0,
"target": 1,
"interval_min": 0,
"interval_max": 360
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/solve-asinbxc-equation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"b":1,"c":0,"target":1,"interval_min":0,"interval_max":360}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"b":1,"c":0,"target":1,"interval_min":0,"interval_max":360}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/solve-asinbxc-equation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 2,
"b": 1,
"c": 0,
"target": 1,
"interval_min": 0,
"interval_max": 360
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.solve_asinbxc_equation",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |