fez, I'm pretty sure the code works fine without the collect: when exp is 
called on linspace it converts it to a vector.  Though the returned t will 
be linspace object.

On Wednesday, September 30, 2015 at 12:10:55 PM UTC+10, feza wrote:
>
> Here's the code I was using where I needed to use collect (I've been 
> playing around with Julia, so any suggestions on this code for perf is 
> welcome ;) ) . In general linspace (or the : notation)  is also used 
> commonly to lay  a grid in space for solving a PDE for some other use 
> cases. 
>
> function gp(n)
> n = convert(Int,n)
> t0 = 0
> tf = 5
> t = collect( linspace(t0, tf, n+1) )
> sigma = exp( -(t - t[1]) )
>
> c = [sigma; sigma[(end-1):-1:2]]
> lambda = fft(c)
> eta = sqrt(lambda./(2*n))
>
> Z = randn(2*n) + im*randn(2*n)
> x = real( fft( Z.*eta ) )
> return (x, t)
> end
>
>
> On Tuesday, September 29, 2015 at 8:59:52 PM UTC-4, Stefan Karpinski wrote:
>>
>> I'm curious why you need a vector rather than an object. Do you mutate it 
>> after creating it? Having linspace return an object instead of a vector was 
>> a bit of a unclear judgement call so getting feedback would be good.
>>
>> On Tuesday, September 29, 2015, Patrick Kofod Mogensen <
>> patrick....@gmail.com> wrote:
>>
>>> No:
>>>
>>> julia> logspace(0,3,5)
>>> 5-element Array{Float64,1}:
>>>     1.0    
>>>     5.62341
>>>    31.6228 
>>>   177.828  
>>>  1000.0   
>>>
>>> On Tuesday, September 29, 2015 at 8:50:47 PM UTC-4, Luke Stagner wrote:
>>>>
>>>> Thats interesting. Does logspace also return a range?
>>>>
>>>> On Tuesday, September 29, 2015 at 5:43:28 PM UTC-7, Chris wrote:
>>>>>
>>>>> In 0.4 the linspace function returns a range object, and you need to 
>>>>> use collect() to expand it. I'm also interested in nicer syntax.
>>>>
>>>>

Reply via email to