Mathematics · Complex and Fourier
Phasor Addition Calculator
Add two magnitude-phase phasors and return the combined magnitude and phase.
Inputs and results stay in this browser. Change one value at a time to explore the relationship.
Calculation steps
- Convert phases 0° and 90° to radians.
- Add rectangular components: real=1, imaginary=1.
- Combined phasor=1.4142135623730951∠45°.
Understand Phasor addition
One idea, three depths
Choose how deeply to explain Phasor addition
Phasor addition: Add two magnitude-phase phasors and return the combined magnitude and phase.
Age 5Explain it to a 5-year-oldStart with a picture
Imagine using Phasor addition to answer this question: add two magnitude-phase phasors and return the combined magnitude and phase? Enter First magnitude, First phase in degrees, Second magnitude, and 1 other input; the calculator shows Combined magnitude. For example: Two unit phasors at 0° and 90° combine to magnitude √2 at 45°. The answer tells you Combined magnitude.
Age 15Explain it to a 15-year-oldConnect it to the formula
Phasors encode sinusoidal amplitude and phase as complex vectors, so simultaneous waves combine through component addition. The rule is A∠α+B∠β=(Acosα+Bcosβ)+i(Asinα+Bsinβ). Its input values are First magnitude, First phase in degrees, Second magnitude, Second phase in degrees, and the main result is Combined magnitude. For example: Two unit phasors at 0° and 90° combine to magnitude √2 at 45°.
CollegeExplain it at college levelState the model precisely
This calculator evaluates the stated phasor addition relation over the valid real-number domain stated below. The implemented relation is A∠α+B∠β=(Acosα+Bcosβ)+i(Asinα+Bsinβ), evaluated from First magnitude, First phase in degrees, Second magnitude, Second phase in degrees to produce Combined magnitude. Phasors encode sinusoidal amplitude and phase as complex vectors, so simultaneous waves combine through component addition. Both phases must use the displayed degree convention and represent the same frequency.
Inputs and valid domain
- First magnitude must be a finite real number, at least 0.
- First phase in degrees must be a finite real number.
- Second magnitude must be a finite real number, at least 0.
- Second phase in degrees must be a finite real number.
Important boundary: Both phases must use the displayed degree convention and represent the same frequency.
The formula
A∠α+B∠β=(Acosα+Bcosβ)+i(Asinα+Bsinβ)
How the calculator works through it
It substitutes First magnitude, First phase in degrees, Second magnitude, Second phase in degrees into the formula and exposes every numerical step above. The main output is Combined magnitude, accompanied by Combined phase in degrees, Real component, Imaginary component.
Read the result correctly
The Combined magnitude is the direct answer to “add two magnitude-phase phasors and return the combined magnitude and phase.” Read it with the units shown beside the inputs; a sign, angle, percentage or rate changes what the number means.
A worked check
Two unit phasors at 0° and 90° combine to magnitude √2 at 45°.
Where this model stops being reliable
Both phases must use the displayed degree convention and represent the same frequency.
Learn it by changing one value
Begin with the worked example, then change one value while keeping the others fixed. Compare the new result and calculation steps to identify which part of the formula changed.
Dictionary terms behind this calculator
Before studying the codeWhat you should know firstUse the calculator immediately, or check the foundations before reading the implementation.
These foundations help you understand why Phasor addition works. They never block the calculator, and “optional” means useful context rather than a hidden requirement.
Hard requirements
- Reading formulas and substituting values
Phasor addition uses A∠α+B∠β=(Acosα+Bcosβ)+i(Asinα+Bsinβ). You need to recognise what each side represents before substituting the stated inputs or rearranging the relationship.
Review this foundation about 4 min
Strong support
- Complex numbers and components
Real and imaginary components provide the notation needed to interpret Phasor addition correctly.
Review this foundation about 7 min
Optional enrichment
- Functions and periodic behaviour
A function viewpoint connects Phasor addition to signals, periodicity and transformations.
Review this foundation about 6 min
Mathematics → algorithm → program
Implement this calculation in code
These are direct reference implementations of the calculator's principal relationship and first output. They run locally and include a small known-answer check where the language supports it.
Algorithm
- Read First magnitude, First phase in degrees, Second magnitude, Second phase in degrees.
- Evaluate the principal relationship: A∠α+B∠β=(Acosα+Bcosβ)+i(Asinα+Bsinβ).
- Return Combined magnitude and check the domain conditions described above.
Python
from math import *
def phasor_addition(a1, b1, a2, b2) -> float:
return sqrt(((((a1 * cos(((b1 * pi) / 180.0))) + (a2 * cos(((b2 * pi) / 180.0)))) * ((a1 * cos(((b1 * pi) / 180.0))) + (a2 * cos(((b2 * pi) / 180.0))))) + (((a1 * sin(((b1 * pi) / 180.0))) + (a2 * sin(((b2 * pi) / 180.0)))) * ((a1 * sin(((b1 * pi) / 180.0))) + (a2 * sin(((b2 * pi) / 180.0)))))))
assert abs(phasor_addition(1, 0, 1, 90) - 1.4142135623730951) < 1e-6 * max(1.0, abs(1.4142135623730951))
C
#include <assert.h>
#include <math.h>
double phasor_addition(double a1, double b1, double a2, double b2) {
return sqrt(((((a1 * cos(((b1 * 3.141592653589793) / 180.0))) + (a2 * cos(((b2 * 3.141592653589793) / 180.0)))) * ((a1 * cos(((b1 * 3.141592653589793) / 180.0))) + (a2 * cos(((b2 * 3.141592653589793) / 180.0))))) + (((a1 * sin(((b1 * 3.141592653589793) / 180.0))) + (a2 * sin(((b2 * 3.141592653589793) / 180.0)))) * ((a1 * sin(((b1 * 3.141592653589793) / 180.0))) + (a2 * sin(((b2 * 3.141592653589793) / 180.0)))))));
}
int main(void) {
const double expected = 1.4142135623730951;
const double actual = phasor_addition(1, 0, 1, 90);
assert(fabs(actual - expected) < 1e-6 * fmax(1.0, fabs(expected)));
}
C++
#include <cassert>
#include <cmath>
#include <numbers>
double phasor_addition(double a1, double b1, double a2, double b2) {
return std::sqrt(((((a1 * std::cos(((b1 * std::numbers::pi) / 180.0))) + (a2 * std::cos(((b2 * std::numbers::pi) / 180.0)))) * ((a1 * std::cos(((b1 * std::numbers::pi) / 180.0))) + (a2 * std::cos(((b2 * std::numbers::pi) / 180.0))))) + (((a1 * std::sin(((b1 * std::numbers::pi) / 180.0))) + (a2 * std::sin(((b2 * std::numbers::pi) / 180.0)))) * ((a1 * std::sin(((b1 * std::numbers::pi) / 180.0))) + (a2 * std::sin(((b2 * std::numbers::pi) / 180.0)))))));
}
int main() {
constexpr double expected = 1.4142135623730951;
const double actual = phasor_addition(1, 0, 1, 90);
assert(std::fabs(actual - expected) < 1e-6 * std::fmax(1.0, std::fabs(expected)));
}
Linux x86-64 assembly
x86-64 NASM · System V ABI · Linux · SSE2 with libm where required
; double phasor_addition(double a1, double b1, double a2, double b2)
; Linux x86-64 NASM · System V ABI · first eight doubles in xmm0–xmm7
extern cos
extern sin
global phasor_addition
section .text
phasor_addition:
push rbp
mov rbp, rsp
sub rsp, 480
movsd [rbp-8], xmm0
movsd [rbp-16], xmm1
movsd [rbp-24], xmm2
movsd [rbp-32], xmm3
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-104], xmm0
movsd xmm0, [rbp-16]
mulsd xmm0, [rbp-104]
movsd [rbp-96], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-112], xmm0
movsd xmm0, [rbp-96]
divsd xmm0, [rbp-112]
movsd [rbp-88], xmm0
movsd xmm0, [rbp-88]
call cos wrt ..plt
movsd [rbp-80], xmm0
movsd xmm0, [rbp-8]
mulsd xmm0, [rbp-80]
movsd [rbp-72], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-152], xmm0
movsd xmm0, [rbp-32]
mulsd xmm0, [rbp-152]
movsd [rbp-144], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-160], xmm0
movsd xmm0, [rbp-144]
divsd xmm0, [rbp-160]
movsd [rbp-136], xmm0
movsd xmm0, [rbp-136]
call cos wrt ..plt
movsd [rbp-128], xmm0
movsd xmm0, [rbp-24]
mulsd xmm0, [rbp-128]
movsd [rbp-120], xmm0
movsd xmm0, [rbp-72]
addsd xmm0, [rbp-120]
movsd [rbp-64], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-208], xmm0
movsd xmm0, [rbp-16]
mulsd xmm0, [rbp-208]
movsd [rbp-200], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-216], xmm0
movsd xmm0, [rbp-200]
divsd xmm0, [rbp-216]
movsd [rbp-192], xmm0
movsd xmm0, [rbp-192]
call cos wrt ..plt
movsd [rbp-184], xmm0
movsd xmm0, [rbp-8]
mulsd xmm0, [rbp-184]
movsd [rbp-176], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-256], xmm0
movsd xmm0, [rbp-32]
mulsd xmm0, [rbp-256]
movsd [rbp-248], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-264], xmm0
movsd xmm0, [rbp-248]
divsd xmm0, [rbp-264]
movsd [rbp-240], xmm0
movsd xmm0, [rbp-240]
call cos wrt ..plt
movsd [rbp-232], xmm0
movsd xmm0, [rbp-24]
mulsd xmm0, [rbp-232]
movsd [rbp-224], xmm0
movsd xmm0, [rbp-176]
addsd xmm0, [rbp-224]
movsd [rbp-168], xmm0
movsd xmm0, [rbp-64]
mulsd xmm0, [rbp-168]
movsd [rbp-56], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-320], xmm0
movsd xmm0, [rbp-16]
mulsd xmm0, [rbp-320]
movsd [rbp-312], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-328], xmm0
movsd xmm0, [rbp-312]
divsd xmm0, [rbp-328]
movsd [rbp-304], xmm0
movsd xmm0, [rbp-304]
call sin wrt ..plt
movsd [rbp-296], xmm0
movsd xmm0, [rbp-8]
mulsd xmm0, [rbp-296]
movsd [rbp-288], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-368], xmm0
movsd xmm0, [rbp-32]
mulsd xmm0, [rbp-368]
movsd [rbp-360], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-376], xmm0
movsd xmm0, [rbp-360]
divsd xmm0, [rbp-376]
movsd [rbp-352], xmm0
movsd xmm0, [rbp-352]
call sin wrt ..plt
movsd [rbp-344], xmm0
movsd xmm0, [rbp-24]
mulsd xmm0, [rbp-344]
movsd [rbp-336], xmm0
movsd xmm0, [rbp-288]
addsd xmm0, [rbp-336]
movsd [rbp-280], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-424], xmm0
movsd xmm0, [rbp-16]
mulsd xmm0, [rbp-424]
movsd [rbp-416], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-432], xmm0
movsd xmm0, [rbp-416]
divsd xmm0, [rbp-432]
movsd [rbp-408], xmm0
movsd xmm0, [rbp-408]
call sin wrt ..plt
movsd [rbp-400], xmm0
movsd xmm0, [rbp-8]
mulsd xmm0, [rbp-400]
movsd [rbp-392], xmm0
mov rax, 0x400921fb54442d18
movq xmm0, rax
movsd [rbp-472], xmm0
movsd xmm0, [rbp-32]
mulsd xmm0, [rbp-472]
movsd [rbp-464], xmm0
mov rax, 0x4066800000000000
movq xmm0, rax
movsd [rbp-480], xmm0
movsd xmm0, [rbp-464]
divsd xmm0, [rbp-480]
movsd [rbp-456], xmm0
movsd xmm0, [rbp-456]
call sin wrt ..plt
movsd [rbp-448], xmm0
movsd xmm0, [rbp-24]
mulsd xmm0, [rbp-448]
movsd [rbp-440], xmm0
movsd xmm0, [rbp-392]
addsd xmm0, [rbp-440]
movsd [rbp-384], xmm0
movsd xmm0, [rbp-280]
mulsd xmm0, [rbp-384]
movsd [rbp-272], xmm0
movsd xmm0, [rbp-56]
addsd xmm0, [rbp-272]
movsd [rbp-48], xmm0
sqrtsd xmm0, [rbp-48]
movsd [rbp-40], xmm0
movsd xmm0, [rbp-40]
leave
ret
MATLAB
function result = phasor_addition(a1, b1, a2, b2)
result = sqrt(((((a1 * cos(((b1 * pi) / 180.0))) + (a2 * cos(((b2 * pi) / 180.0)))) * ((a1 * cos(((b1 * pi) / 180.0))) + (a2 * cos(((b2 * pi) / 180.0))))) + (((a1 * sin(((b1 * pi) / 180.0))) + (a2 * sin(((b2 * pi) / 180.0)))) * ((a1 * sin(((b1 * pi) / 180.0))) + (a2 * sin(((b2 * pi) / 180.0)))))));
end
Wolfram Language
ClearAll[mwCalculate];
mwCalculate[a1_, b1_, a2_, b2_] := Sqrt[((((a1 * Cos[((b1 * Pi) / 180.0)]) + (a2 * Cos[((b2 * Pi) / 180.0)])) * ((a1 * Cos[((b1 * Pi) / 180.0)]) + (a2 * Cos[((b2 * Pi) / 180.0)]))) + (((a1 * Sin[((b1 * Pi) / 180.0)]) + (a2 * Sin[((b2 * Pi) / 180.0)])) * ((a1 * Sin[((b1 * Pi) / 180.0)]) + (a2 * Sin[((b2 * Pi) / 180.0)]))))];
Continue in mathematical software
The downloaded file includes your current inputs and first calculated result. It is created locally.
Floating-point answers can differ slightly by language, compiler and processor. Compare within a suitable tolerance rather than assuming every decimal representation will be identical.
Reuse the page responsiblyCite this pageAPA, MLA, Chicago, Harvard, BibTeX and RIS
These formats cite this calculator page itself. They are separate from the academic references above, which support the mathematical method and terminology.
APA 7
MW SysArc. (2026, July 21). Phasor Addition Calculator. MW SysArc Tools. https://math.mwsysarc.com/complex-fourier/phasor-addition
MLA 9
MW SysArc. “Phasor Addition Calculator.” MW SysArc Tools, 21 July 2026, https://math.mwsysarc.com/complex-fourier/phasor-addition. Accessed 31 Aug. 2026.
Chicago 17
MW SysArc. “Phasor Addition Calculator.” MW SysArc Tools. Published July 21, 2026. Accessed August 31, 2026. https://math.mwsysarc.com/complex-fourier/phasor-addition.
Harvard
MW SysArc (2026) ‘Phasor Addition Calculator’, MW SysArc Tools. Published 21 July 2026. Available at: https://math.mwsysarc.com/complex-fourier/phasor-addition (Accessed: 31 August 2026).
BibTeX and RIS records
BibTeX
@misc{mwsysarc_phasor_addition_2026,
author = {{MW SysArc}},
title = {Phasor Addition Calculator},
howpublished = {MW SysArc Tools},
year = {2026},
url = {https://math.mwsysarc.com/complex-fourier/phasor-addition},
note = {Published July 21, 2026; accessed August 31, 2026}
}RIS
TY - ELEC
AU - MW SysArc
TI - Phasor Addition Calculator
T2 - MW SysArc Tools
PY - 2026
DA - 2026-07-21
Y2 - 2026-08-31
UR - https://math.mwsysarc.com/complex-fourier/phasor-addition
N1 - Published July 21, 2026
ER -Clear answers
Frequently asked questions
What does the Phasor addition do?
Add two magnitude-phase phasors and return the combined magnitude and phase.
How does the Phasor addition work?
The calculator applies A∠α+B∠β=(Acosα+Bcosβ)+i(Asinα+Bsinβ). Phasors encode sinusoidal amplitude and phase as complex vectors, so simultaneous waves combine through component addition.
What can I learn from the Phasor addition?
It connects the mathematical rule to your chosen numbers and shows each calculation step. Change one input at a time to see how the result responds.
Does MW SysArc receive or store what I enter?
No. The calculation runs locally in your browser. MW SysArc does not receive or store your calculation inputs.
How should I use the result?
Use the steps to understand the method, then verify important school or professional work using the notation and rounding rules required in your setting.
Last reviewed . Calculations tested .