Function parameter passing?
- To: mathgroup at smc.vnet.net
- Subject: [mg99293] Function parameter passing?
- From: nick.maj at mssm.edu
- Date: Sat, 2 May 2009 05:57:37 -0400 (EDT)
Dear all,
this mathematica group has been of great help so far. I started a few
weeks ago and accomplished more than I ever have with LISP. Thank you
all again.
New Problem:
a = 3; b = 2; cutoff = a b; g = b;
data = {0, {10, 15}, 1, 20, 7, 55};
gen[a_, b___, c___] :=
Flatten[Table[
Partition[Union[Flatten[Range[i, cutoff + i, {a, b, c}]]], 2,
1], {i, 0, cutoff - 1, cutoff}], 1];
width[gen_,
width_] := {#1, #2 + (2 Mean[{#1, #2} - #1]*width/100)} & @@@ gen
hight[gen_, high_, low_] :=
If[Mod[#[[1]], g] == 0, high, low] & /@ gen;
datacut[data_] := Flatten[Table[data, {cutoff/Length[data] + 1}], 1];
output[gen_, hight_, data_] :=
Table[{data[[i]], gen[[i]], hight[[i]]}, {i, 1, Length[gen]}];
out1 = gen[a, b];
out2 = gen[a];
output[width[out1, - 0], hight[out1, 100, 50], datacut[data]]
output[width[out2, - 0], hight[out2, 100, 50], datacut[data]]
This all works so far. However, the "output" function is to cluttered
and repetitive.
output[ out1, -0, {100, 50}, data ] is what I'm after.
The slots are: [generator, width, hight, data]
But how. Thanks in advance, Nick.