Hallo Frank,
Der SameTest wird in Deiner Version wahrscheinlich immer zu
False ausgefuehrt;
Ich gestehe in aller Bescheidenheit, dass ich nicht verstanden habe,
warum das so ist -- aber hier ist eine funktionierende simple Loesung:
##### file erdbeben.m #####
cat1 =.
cat1 = {{7.683, 50.15, 1846, 7, 29, 4.98, 10, 21, 24.},
{7.683, 48.117, 1825, 11, 24, 2.8, 4, 1, 0.}};
cat2 =.
cat2 = {{7.682, 50.157, 1846, 7, 29, 5.5, 10., 21, 24.}};
(*
Ich moechte nun beide so kombinieren, dass der Test auf Gleichheit nur
auf den "Spalten" 3,4,5,8,9 gemacht wird, was dem Datum und Uhrzeit entspricht.
Mit andern Worten, ich moechte dafuer sorgen dass die Beben die mit der
gleichen Uhrzeit gemeldet werden, nicht doppelt weiterverarbeitet werden.
*)
Clear[stest]
(*
stest[x_, y_] := (N[Join[Take[x, {3, 5}], Take[x, {8, 9}]]] ==
N[Join[Take[y, {3, 5}], Take[y, {8, 9}]]]) && VectorQ[x] && VectorQ[y]
*)
stest[x_, y_] := (N[x[[3]]] == N[y[[3]]] && N[x[[4]]] == N[y[[4]]] &&
N[x[[5]]] == N[y[[5]]] && N[x[[8]]] == N[y[[8]]] && N[x[[9]]] == N[y[[9]]]);
cat3 =.
cat3 = Union[Join[cat1, cat1, cat1], SameTest -> (stest[#1, #2]&)];
cat3 // TableForm
###### eof ######
bamako::Out[1]= Solaris 3.0 (August 21, 1997)
bamako::In[2]:= <<erdbeben.m
bamako::Out[2]//TableForm=
> 7.683 48.117 1825 11 24 2.8 4 1 0.
7.683 50.15 1846 7 29 4.98 10 21 24.
bamako::In[3]:=
That's it; es koennte bestimmt noch beautyfied werden. Viel Spass.
((Der test von Listen auf Gleichheit ist irgendwie dem SameTest unsympathisch.
Habe es aber unter Trace auch nicht gesehen, dass er den Test ueberhaupt
angewandt hat. Evaluate an verschiedenen Stellen wurde weggeschwejkt.)).
Best Regards
Udo.
______________________________________________________________________________
Udo Krause
ISE Integrated Systems Engineering AG
Technopark Zurich, Technoparkstr. 1
CH-8005 Zurich phone: +41-1-274-1421
Switzerland e-mail: krause@XXXXXXX.ch
______________________________________________________________________________
Es ist alles ganz einfach, nur merken kann man sich's nicht. K. Valentin
______________________________________________________________________________
As frequently happens with the mathematical procedure in research, the
solving of one difficulty leads to another. You may think that no real
progress is then made, but this is not so, because the second difficulty
was really there all the time, and was only brought into prominence
by the removal of the first. P. A. M. Dirac
______________________________________________________________________________
Nein, das Geheimnis liegt darin, dass Sie niemals die Finger bewegen duerfen.
G. Gould
______________________________________________________________________________
|