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] > >
- References:
- cannot work a "conditional If"
- From: patrice.haldemann@gmail.com
- cannot work a "conditional If"