On Thu, Jun 2, 2016 at 2:28 PM, Kaela Martin <kaelama...@gmail.com> wrote:
> 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

R[:, 1] does not return a view, sth like `sub(R, :, 1)` should work.

> 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