MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Changing the argument


Hi Niles.
z must be a function of t from the beginning so that t can also be
one. I would rewrite:

primaryFunc[i_,t_] := {
   secondaryFunc[t_] := 1/z[t];
   func = 0;
   For[j = 1, j < i + 1, j++,
    func = func + secondaryFunc[t];
    ];
   func};

test[t_] := primaryFunc[20,t]

NDSolve[{z''[t] == test[t], z[0] == 0, z'[0] == 20}, z, {t, 0, 5}];

Hope it helps,
Andr=E9s


On Feb 17, 6:23 am, Niles <niels.martin... at gmail.com> wrote:
> Hi!
>
> I have the following piece of code (I am using this as an example):
>
> primaryFunc[i_] := {
>    secondaryFunc[z_] := 1/z;
>    func = 0;
>    For[j = 1, j < i + 1, j++,
>     func = func + secondaryFunc[z];
>     ];
>    func};
>
> test = primaryFunc[20];
>
> Say that I need to use the function "test" in NDSolve, e.g.:
> NDSolve[{z''[t] == test, z[0] == 0, z'[0] == 20}, z, {t, 0, 5}];
>
> The problem is that the variable "z" in "test" needs to become "z[t]".
> How can this be done most efficiently? Thanks for the help in advance.
>
> Best,
> Niles.




  • Prev by Date: Re: saving a Notebook as pdf or xml
  • Next by Date: Manipulate
  • Previous by thread: Changing the argument
  • Next by thread: Extensive replacement of trigonometric functions