I have a function that computes the unit vector and replaces the input with 
that unit vector. However, when I have the input as part of a larger array, 
it doesn't replace that part of the array.

For example, if the vector I want to make a unit vector is R = [1. 2.; 3. 
4.; 5. 6.], the function unit!(R[:,1]) (listed below) should replace the 
first column of R with its unit vector. The current code is not. What am I 
doing wrong?

Thanks for the help!

function unit!{T}(V::AbstractArray{T})
v=mag(V)

for ii in 1:3
  V[ii] = V[ii]/v
end

if v == 0
  V[1] = 1
  V[2] = 0
  V[3] = 0
end #no divide by 0

return v
end

function mag{T}(R::AbstractArray{T})

R=sqrt(dot(R,R))

end

Reply via email to