MathGroup Archive 2013

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

Search the Archive

Re: cannot work a "conditional If"

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130574] Re: cannot work a "conditional If"
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Tue, 23 Apr 2013 00:03:04 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20130422071108.EC5C96AFD@smc.vnet.net>

Your output of signy is a list of length 1 rather than a number.
Consequently, the test in the If does not evaluate as either True or False
and the If statement returns unevaluated. Change the definition of signy to
produce a number, i.e.,


signy[t_] := y[t] /. orbit[[1]]


However, rather than use an If statement, I recommend that you use
Piecewise.



Bob Hanlon




On Mon, Apr 22, 2013 at 3:11 AM, <patrice.haldemann at gmail.com> wrote:

> Hi everybody
>
> I am a newcomer in the mathematica world and I have been facing an issue
> for some days.
>
> I have used mathematica to solve an NDSolve and it has worked well
>
> I have tested  expressions with the solution of NDSolve and its has worked
> well.
>
> Now if I use an expression in an "Conditional If", it does not work.
>
> Thank you for your help
>
>
> See below
>
> signy[t_] := y[t] /. orbit   where y[t] is the solution of the NDSolve
>
> signy[1]
>
> {-1.96861}
>
>  ang12[t_] := If[signy[t] > 3, 10, 6]
>
>  ang12[1]
>
> If[{-1.96861} > 3, 10, 6]
>
>


  • Prev by Date: Re: Speak errors (was Re: audio)
  • Next by Date: integral of x^n
  • Previous by thread: cannot work a "conditional If"
  • Next by thread: Re: cannot work a "conditional If"