[Date Index]
[Thread Index]
[Author Index]
Re: Efficient way to merge listsProgramming help
 To: mathgroup at smc.vnet.net
 Subject: [mg12722] Re: Efficient way to merge listsProgramming help
 From: Julian Stoev <stoev at SPAMREMOVERusa.net>
 Date: Thu, 4 Jun 1998 02:52:08 0400
 Organization: Seoul National University, Republic of Korea
 References: <6l2r6l$e3p@smc.vnet.net>
 Sender: ownerwrimathgroup at wolfram.com
On 3 Jun 1998, Joel Cannon wrote:
Cam someone suggest better ways to accomplish the following? 
I have two lists containing tripletstest is a rectangular array of
triplets {x,y,z} (e.g. Dimensions {4,40,3}) and test2 is an array of
triplets (e.g. Dimensions {50,3}). test2 is to replace equivalent
elements in test (when the x and y values are equalthe test2 z
values have been calculated more accurately). 
The task can be understood to be:

1. Given a triplet {x_i,y_i,z_i} from test2, find the position in test
which has the same {x_i,y_i,_}.

2. Replace the element in test by the triplet from test2.
I think you may try to use pattern matching.
For example:
t2=test2/.{x_,y_,z_}>Rule[{x,y,_},{x,y,z}]
Now you have transformation rules based on test2 and you can apply them
to test
test/.t2
This is working with any dimensions of test variable.
I generated an example using some data:
In[115]:=
test2=Table[{i,2,i*3},{i,1,4}]
rules=test2/.{x_,y_,z_}>Rule[{x,y,_},{x,y,z}]
Out[115]=
{{1, 2, 3}, {2, 2, 6}, {3, 2, 9}, {4, 2, 12}} Out[116]=
{{1, 2, _} > {1, 2, 3}, {2, 2, _} > {2, 2, 6},
{3, 2, _} > {3, 2, 9}, {4, 2, _} > {4, 2, 12}}
In[117]:=
test=Table[{i,j,i*j},{i,1,4},{j,1,3}] test/.rules
Out[117]=
{{{1, 1, 1}, {1, 2, 2}, {1, 3, 3}},
{{2, 1, 2}, {2, 2, 4}, {2, 3, 6}},
{{3, 1, 3}, {3, 2, 6}, {3, 3, 9}},
{{4, 1, 4}, {4, 2, 8}, {4, 3, 12}}} Out[118]=
{{{1, 1, 1}, {1, 2, 3}, {1, 3, 3}},
{{2, 1, 2}, {2, 2, 6}, {2, 3, 6}},
{{3, 1, 3}, {3, 2, 9}, {3, 3, 9}},
{{4, 1, 4}, {4, 2, 12}, {4, 3, 12}}}
There may be some enhancements, but you have the general idea, I hope.
Julian Stoev
Prev by Date:
Re: who has written a BEM code for an airfoil?
Next by Date:
Re: Efficient way to merge listsProgramming help
Previous by thread:
Re: Efficient way to merge listsProgramming help
Next by thread:
Re: Re: Efficient way to merge listsProgramming help
 