# vvset

Create a copy of the vector x and replace elements.

Usage 1
`vvset(x , y {, o {, d, n}}})`
x
source vector
y
replace value (scalar)
o
starting index, 0 ≤ o < `nrow(x)` (default=0)
d
index increment (default=1)
n
number of values to replace (default=`nrow(x)`)
Result 1
The result r is copy of the vector x. All elements `r[o+i*d]` (with: `i = 0..n-1`) are replaced by the value `y`.

Usage 2
`vvset(x , y {, o {, d}})`
x
source vector
y
replace vector
o
starting index, 0 ≤ o < `nrow(x)` (default=0)
d
index increment (default=1)
Result 2
The result r is copy of the vector x. All elements `r[o+i*d]` (with: `i = 0..nrow(y)-1`) are replaced by the value `y[i]`.

The function fails if an index value is out of bounds.

vv, vvget, vvcat, vmcol, vmrow, vsubn, vsubc

Example:

```#a := eval fill(10,0,1)
#b := eval vvset(\$#a, -1, 1, 2, 5)
// → #b = { 0 , -1 , 2 , -1 , 4 , -1 , 6 , -1 , 8 , -1 }
#c := eval vvset(\$#b, fill(4, 9, -3), 6, 1)
// → #c = { 0 , -1 , 2 , -1 , 4 , -1 , 9 , 6 , 3 , 0 }
// reverse vector indeces
#arev := eval vvset(\$#a, \$#a, \$#a[]-1, -1)
// → #arev = { 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 }
```