And remember to change your f(y,t) because Julia has 1-based arrays.

On Mon, Jun 20, 2016 at 9:32 PM, Michele Zaffalon <
michele.zaffa...@gmail.com> wrote:

> Also linspace(0.01,0) is not the same as [0.01,0]
>
> On Mon, Jun 20, 2016 at 8:15 PM, Henri Girard <henri.gir...@gmail.com>
> wrote:
>
>> After correction still doesn't work.
>> I have this function from another programme which is working, i wonder if
>> it's not my odeint(f,y,t) which is wrong ?
>>
>>
>> Le lundi 20 juin 2016 17:32:07 UTC+2, Henri Girard a écrit :
>>>
>>> I am trying to convert from python to julia, but I don't know how to use
>>> y1=integrate.odeint(f,t), apparently I should have add a derivativ ?
>>>
>>> --python----------------------
>>> from scipy.integrate import odeint
>>> def f(y,t):
>>>     if t<25:
>>>         return [y[1],-8*y[0]+0.1*y[1]]
>>>     elif 25<t<45:
>>>         return [y[1],-8*y[0]]
>>>     else:
>>>         return [y[1],-8*y[0]-0.1*y[1]]
>>> t=np.linspace(0,35,1000)
>>> # start from  y=0.01, y’=0
>>> y1=odeint(f,[0.01,0],t)
>>> plt.plot(t,y1[:,0])
>>> plt.title("Evolution temporelle")
>>> plt.xlabel("Temps t (s)")
>>> plt.ylabel("Intensite i (A)")
>>> plt.plot(0,0.01,"ro")
>>> #plt.savefig("RLC-demarrage.eps")
>>> plt.show()
>>> ----------ijulia----------------
>>> @pyimport scipy.integrate as odeint
>>> function f(y,t)
>>>           if t<25
>>>             return [y[1],-8*y[0]+0.1*y[1]]
>>>           elseif 25<t<45
>>>                 return [y[1],-8*y[0]]
>>>           else
>>>                 return [y[1],-8*y[0]-0.1*y[1]]
>>>           end
>>> end;
>>> t=linspace(0,35,1000)
>>> y=linspace(0.01,0)
>>> y1=integrate.odeint(f,y,t)
>>>
>>
>

Reply via email to