|
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 ______________________________________________________________________________ |