Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

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

Search the Archive

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]}]





  • Prev by Date: Re: Setting parameters via Manipulate?
  • Next by Date: Re: sorting?
  • Previous by thread: Re: something wrong with my code??
  • Next by thread: Default Text Cell Font in Version 9