Re: something wrong with my code??

*To*: mathgroup at smc.vnet.net*Subject*: [mg129588] Re: something wrong with my code??*From*: Chris Degnen <degnen at cwgsy.net>*Date*: Sat, 26 Jan 2013 01:41:56 -0500 (EST)*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*: <kdt90p$994$1@smc.vnet.net>

On 25 Jan, 06:34, sylphid707 <sylphid... at hotmail.com> wrote: > First of all, this might give seasoned Mathematica users some serious eye sores cause I'm a newb at this xD > > f[x_] := (1^-9) (Exp[38.629 x] - 1); > data = Table[if[[f[x], {x, -5, 5, 0.01}] > 0.005, 0.005, f[x]]]; > ListPlot [data, DataRange -> {-5, 5}, Joined -> True, > PlotRange -> {0, 0.01}, PlotStyle -> {Thickness[0.005]}] > > What I want to do this is do a plot of a sweep from -5 to 5 with 0.01 stepsize, and if the output value exceeds 0.005, the output value will just be 0.005. It will kind of look like a heavyside step function/unit step function. > Any help would be greatly appreciated xD. This method uses ReplaceAll to avoid recomputing f[x]:- f[x_] := (1^-9) (Exp[38.629 x] - 1); data = Table[f[x], {x, -5, 5, 0.01}] /. x_ /; x > 0.005 :> 0.005; ListLinePlot[data, DataRange -> {-5, 5}, PlotRange -> {0, 0.01}, PlotStyle -> {Thickness[0.005]}] And this method maps the if condition, also avoiding recomputing f[x]:- f[x_] := (1^-9) (Exp[38.629 x] - 1); data = If[# > 0.005, 0.005, #] & /@ Table[f[x], {x, -5, 5, 0.01}]; ListLinePlot[data, DataRange -> {-5, 5}, PlotRange -> {0, 0.01}, PlotStyle -> {Thickness[0.005]}]