複素数を極形式に変換
複素数を座標ではなく距離と向きで表します。3 + 4i の絶対値は5、2i は真上の90°を向き、角度はラジアンでも表示されます。実軸より下にある数では角度が負になります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 実部
- 1
- 虚部
- 1
- 大きさ
- 1.4142135624
- 角度 (rad)
- 0.7853981634
- 角度 (度)
- 45
複素数の極形式変換ツールは、実部と虚部で与えられた複素数を受け取り、その極形式を返します。絶対値は複素平面上の原点からの距離、偏角(角度)は実軸の正の向きから反時計回りに測られ、ラジアンと度の両方で表示されます。角度は2引数の逆正接で計算されるため、常に正しい象限に収まり、虚部が負の場合は負の角度になります。実部と虚部はどちらも有限の数値である必要があり、それ以外は明確な検証エラーで拒否されます。
a + bi から絶対値と偏角へ
a + bi と書かれる複素数は複素平面上の一点を表します。実部 a は水平軸上の位置、虚部 b は上下方向の位置を示します。極形式は同じ数を距離と向きで表現します。
距離は絶対値で、r や |z| と書かれることが多く、2つの成分が作る直角三角形の斜辺として計算されるため、3 + 4i の絶対値はちょうど 5 になります。向きは偏角で、theta や arg(z) と書かれ、実軸の正の向きから反時計回りに測るため、2i のような純虚数は π/2 ラジアン、つまり 90 度の位置にあります。
この複素数極形式変換ツールに2つの成分を送ると、1回の呼び出しで絶対値と偏角が返り、それらがあれば数を r(cos θ + i sin θ)、あるいは簡潔に r 掛ける e の iθ 乗と書けます。この形は複素数の乗算、除算、べき乗、累乗根を簡単にします。
絶対値は二乗和の素朴な平方根ではなく斜辺計算から求めるため、成分が非常に大きな有限数でもオーバーフローを避けられます。
角度に atan2 を使い、2つの単位で返す理由
虚部を実部で割った単純な逆正接では、比が同じになるため第1象限と第3象限を区別できず、実部がゼロの場合は完全に破綻します。2引数の逆正接 atan2 は両方の成分の符号を調べるため、角度は常に正しい象限を指し、厳密なゼロ以外のすべての入力で定義されます。
結果は負の π から正の π ラジアンの区間に収まり、正の角度は実軸より上、負の角度は下、ちょうど π は実軸の負の向き、ゼロは正の向きを意味します。このツールが角度をラジアンと度の2通りで返すのは、利用者ごとに必要な単位が異なるためです。
ラジアンはあらゆるプログラミング言語の三角関数や指数関数、オイラーの公式にそのまま使え、度は宿題や教科書、工学仕様書で一般的に読まれる単位です。1回の呼び出しで両方を計算すれば換算の手間と丸めの曖昧さを省け、どちらの値も小数点以下12桁に丸められるため、マシンやJavaScriptエンジンが違っても結果は完全に一致します。
検証、決定論性、そして活用場面
各成分は有限の数値である必要があります。複素数のゼロは意図的な特例で、絶対値はゼロ、偏角は数学的に未定義のため、失敗させる代わりに慣例として両方の単位で角度ゼロを返します。これによりパイプラインは全域的で予測可能になり、その選択も文書化されます。
計算は少数の浮動小数点演算のみで、ネットワークアクセスも乱数も時計も使わないため、同じ入力からは常に同一の出力が得られます。典型的な利用者は、インピーダンスを直交形式とフェーザ形式の間で変換する電気工学ツール、デカルト表現と振幅・位相表現を行き来する信号処理コード、周波数応答解析を行う制御システム、複素数計算の宿題を確認する学生です。
活用例
電気工学とフェーザ
抵抗とリアクタンス(R + jX)で与えられたインピーダンスを、交流回路解析のために絶対値と度単位の位相角に変換します。
信号処理
複素 FFT ビンやフィルタ係数を実部・虚部の形から、スペクトル解析用の振幅とラジアン単位の位相に変換します。
数学の宿題と教育
べき乗や累乗根にド・モアブルの定理を適用する前に、複素数の極形式を角度を両単位で確認できます。
よくある質問
具体的に何が返りますか?
絶対値(原点からの距離)、(-π, π] 区間のラジアン単位の偏角、(-180, 180] 区間の度単位の同じ角度、そして入力された実部と虚部のエコーです。
なぜラジアンと度の両方ですか?
ラジアンは三角関数や指数関数、オイラーの公式にそのまま使え、度は教科書や工学文書で一般的に読まれる単位だからです。1回の呼び出しで両方が返るため、こちらで換算する必要はありません。
0 + 0i の場合はどうなりますか?
絶対値は 0 で偏角は数学的に未定義のため、失敗させる代わりに慣例として両方の単位で角度 0 を返します。
どのような入力が拒否されますか?
有限の数値でないものはすべて拒否されます。3.5" のような数値文字列は受け付けられます。
角度は常に正しい象限にありますか?
はい。 2引数の逆正接 atan2(imag, real) で計算され、両方の成分の符号を使って角度を正しい象限に配置します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/complex-number-to-polar-form \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"real":1,"imag":1}'const res = await fetch("https://api.kit.forhosting.com/math/complex-number-to-polar-form", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"real": 1,
"imag": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/complex-number-to-polar-form",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"real": 1,
"imag": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/complex-number-to-polar-form", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"real":1,"imag":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"real":1,"imag":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/complex-number-to-polar-form", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"real": 1,
"imag": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.complex_number_to_polar_form",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
同じ変換はこのページのブラウザ上で無料で実行でき、まったく同じコードが1リクエスト$0.002の有料APIにも提供されています。
検証、決定論性、そして活用場面
エンドポイントは JSON の数値と "3.5" や "-2" のような数値文字列を受け付けます。これは Web フォームの値が届く場合に便利ですが、null、空文字列、真偽値、配列、NaN という文字列、無限大はすべて拒否し、意味のない角度を黙って返すのではなく、問題のあるフィールド名を示す入力エラーで応答します。エッジ上で数ミリ秒で動作し、応答後に何も保持せず、API経由では1リクエスト$0.002で、ブラウザでの対話的な利用は無料のままです。
技術的な質問
料金はいくらですか?
API経由では1リクエスト$0.002です。同じ変換はこのページのブラウザ上で無料で実行できます。