Re: strange error

*To*: mathgroup at smc.vnet.net*Subject*: [mg122270] Re: strange error*From*: DrMajorBob <btreat1 at austin.rr.com>*Date*: Sun, 23 Oct 2011 06:22:31 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201110221009.GAA29789@smc.vnet.net>*Reply-to*: drmajorbob at yahoo.com

Here are three versions that work: test1[m_?NumericQ] := Module[{ret}, If[m < 100, ret = 2 m]; If[100 <= m <= 200, ret = 200 + (m - 100)]; If[200 < m, ret = 300 + 0.5 (m - 200)]; N@ret ] test2[m_] = Piecewise[{{2 m, m < 100}, {200 + (m - 100), 100 <= m <= 200}, {300 + 0.5 (m - 200), 200 < m}}]; test3[m_] = Which[m < 100, 2 m, 100 <= m <= 200, 200 + (m - 100), 200 < m, 300 + 0.5 (m - 200), True, 0]; FindRoot[test1@m == 250, {m, 150, 0, 300}] FindRoot[test2@m == 250, {m, 150, 0, 300}] FindRoot[test3@m == 250, {m, 150, 0, 300}] {m -> 150.} {m -> 150.} {m -> 150.} The original style is a very bad habit. Bobby On Sat, 22 Oct 2011 05:09:04 -0500, Klemen Dovrtel <klemen_dovrtel at yahoo.com> wrote: > Hello everybody, > > I defined a simple function that is composed of three functions, each > for different range of argument/variable. The function was composed > using If[] conditions. The problem is that i can't FindRoot of this > composed function. I get an error "the function value is not a list of > numbers with dimensions {1}", which is not true. Any idea how can i > solve this? > > > Mathematica print screen: > > http://www.shrani.si/f/t/vo/3jLzgMiy/prtscr.jpg > > Best Regards > Klemen -- DrMajorBob at yahoo.com

**References**:**strange error***From:*Klemen Dovrtel <klemen_dovrtel@yahoo.com>