2 added 6 characters in body
source | link

Here is a simple answer for an ordinary list. The OP asked about:

vec = E^(I 2 \[Pi] #/10) & /@ Range[100];
resMMA = Arg[vec] // N;

Just a simple few functions is enough:

unwraped =   resMMA + Accumulate[2*Pi*Unitize[Chop[Prepend[Differences[resMMA]Accumulate[2*Pi*Unitize[Threshold[Prepend[Differences[resMMA], 0]0.], 1]]];
ListLinePlot[{resMMA, unwraped}]

enter image description here

Sometimes you might need to subtract instead of add, if your saw-tooth is upside down.

Here is a simple answer for an ordinary list. The OP asked about:

vec = E^(I 2 \[Pi] #/10) & /@ Range[100];
resMMA = Arg[vec] // N;

Just a simple few functions is enough:

unwraped =   resMMA + Accumulate[2*Pi*Unitize[Chop[Prepend[Differences[resMMA], 0], 1]]];
ListLinePlot[{resMMA, unwraped}]

enter image description here

Sometimes you might need to subtract instead of add, if your saw-tooth is upside down.

Here is a simple answer for an ordinary list. The OP asked about:

vec = E^(I 2 \[Pi] #/10) & /@ Range[100];
resMMA = Arg[vec] // N;

Just a simple few functions is enough:

unwraped =   resMMA + Accumulate[2*Pi*Unitize[Threshold[Prepend[Differences[resMMA], 0.], 1]]];
ListLinePlot[{resMMA, unwraped}]

enter image description here

Sometimes you might need to subtract instead of add, if your saw-tooth is upside down.

1
source | link

Here is a simple answer for an ordinary list. The OP asked about:

vec = E^(I 2 \[Pi] #/10) & /@ Range[100];
resMMA = Arg[vec] // N;

Just a simple few functions is enough:

unwraped =   resMMA + Accumulate[2*Pi*Unitize[Chop[Prepend[Differences[resMMA], 0], 1]]];
ListLinePlot[{resMMA, unwraped}]

enter image description here

Sometimes you might need to subtract instead of add, if your saw-tooth is upside down.