Hej,
I've already posted this as issue on Github and got sent here.
"""
Hej,
I was expecting the second command to have the same output as the third. Is
this feasible?
julia> X=rand(3,1)
3x1 Array{Float64,2}:
0.371312
0.438901
0.767117
julia> X<0.5
ERROR: `isless` has no method matching isless(::Array{Float64,2}, ::Float64)
in < at operators.jl:32
julia> X.<fill(0.5,5)
3x1 BitArray{2}:
true
true
false
PS: Matlab does it that way ;)
"""
I may have to be more specific. I am creating a histogram function (see
below) and I think the line
tt = fill(2,length(X)) .==
(fill(EDGES[ii],length(X)).<=X)+(X.<fill(EDGES[ii+1],length(X)))
would be neater and clearer
<http://www.dict.cc/englisch-deutsch/clearer.html> like this
tt = 2 == (EDGES[ii] <= X) + (X < EDGES[ii+1])
Why wouldn't that be a feasible implementation?
function histc(X,EDGES)
counts=zeros(Int16,length(EDGES)-1,1)
idx=zeros(Int16,length(X),1)
for ii in 1:length(EDGES)-1
tt=fill(2,length(X)) .==
(fill(EDGES[ii],length(X)).<=X)+(X.<fill(EDGES[ii+1],length(X)))
counts[ii]=sum(tt)
if counts[ii]!=0
idx[tt]=fill(ii,counts[ii])
end
end
return counts, idx
end
Thank you, Ras :)