|
Hallo Mathematica-Benutzer! Das folgende Problem betrifft mindestens Mathematica 2.2 fuer X-Windows, Mma 2.2.3 fuer MS-Windows 3.x und Mma 3.0.1 auf Windows-NT, vielleicht sogar alle Fassungen auf allen Rechnern. ListContourPlot hat eine Option Contours, mit der man bestimmen kann, bei welchen Z-Werten eine Kontourlinie gezeichnet werden soll. In der Variante Contours->{z1,z2,...} habe ich Faelle erlebt, bei denen eine oder mehrere Konturlinien gar nicht gefunden wurden (solche, die um ein im Inneren des darzustellenden Gebiets gelegenen Maximum liegen und um die herum eine im darzustellenden Gebiet liegende tiefere Konturlinie dargestellt wurde). Das witzige daran ist, dasz die fraglichen Konturlinien manchmal gefunden werden, wenn man nur eine einzige Zeile der Z-Werte in den Eingangsdaten von ListContourPlot weglaeszt - siehe das Beispiel unten. Die Frage ist vor ca einem Jahr schon einmal in comp.soft-sys.math.mathematica aufgeworfen worden, allerdings war die einzige Antwort, dasz jemand das Problem auch gesehen hat, aber nicht reproduzierbar. Das eigentliche Problem wurde damals nicht geloest, ja es wurde noch nicht einmal richtig auf den Punkt gebracht. 1.) Weisz jemand, wie ListContourPlot intern arbeitet? 2.) Weisz jemand insbesondere, wie ListContourPlot nach Anfangspunkten fuer die Konturlinien sucht? 3.) Ist bei dem Suchalgorithmus garantiert, dasz zwischen zwei benachbarten Gitterpunkte mit den Z-Werten zu, zo mit zu<zk<=zo oder zu<=zk<zo eine Konturlinie mit zk auch gefunden und verfolgt wird? Das grundlegende Problem scheint mir zu sein, *alle* zk-Stellen einer hinreichend stetigen Funktion zweier Variabler in einem vorgegebenen Intervall zu finden. Das eindimensionale Problem ist schon nicht einfach, da man hier in einer Liste interpoliert, sollten die o.a. Faelle aber gefunden werden! 4.) Falls bei dieser Suche mit einer initialen Menge von Startpunkten (weniger als alle Datenpunkte) begonnen wird: wie kann ich die Startpunktmenge vergroeszern, damit Konturlinien uach finde, von denen ich anhand der "eindimensionalen Schnitte" weisz, dasz sie da sein muessen. 5.) Kann man (ggf. durch UnProtect[...] und Umdefinieren von geeigneten Funktionen) den zk-Stellen-Suchalgorithmus in ListContourPlot gegen einen anderen (besseren) austauschen? 6.) Hat jemand gar ein "besseres" ListContourPlot? Das Problem hat wahrscheinlich auch Folgewirkungen in LabelContourLines in TWJ-Packs: dort passiert es manchmal, dasz Konturen falsch beschriftet werden. Dem bin ich aber noch nicht genau nachgegangen. Hier ein Beispiel aus der Praxis, an dem man das Problem studieren kann: list1=Get["list1",StandardForm]; list2=Table[list1[[i]],{i,1,14}]; (* beachte Zeile 6: alle drei gesuchten Konturlinen werden gefunden.... *) ListContourPlot[list2,Contours->{7.0,7.50,7.75}]; ListPlot[list2[[6]]]; (* nun kommt's: die gleichen Daten, jedoch eine Zeile mehr... *) list3=Table[list1[[i]],{i,1,15}]; (* beachte Zeile 6: die 7.75-er Konturline wird *nicht* gefunden, obwohl sie zwischen dem 12. und 13., sowie zwischen dem 16. und 17. Datenpunkt verlaufen musz!... *) ListContourPlot[list3,Contours->{7.0,7.50,7.75}]; ListPlot[list3[[6]]]; Die Beispieldatei "list1" ist ganz hinten an meinem Beitrag. Vielen Dank fuer die Mithilfe Dipl-Math. Adalbert Hanszen <hsse@XXXXXXX.de> =-=-=-=-=-=-=-=-=-=-=- list1 folgt: -=-=-=-=-=-=-=-=-=-=-=-=-= {{6.869325565627659, 6.857446808180289, 6.84698416452472, 6.839044013465366, 6.835444160898676, 6.838852388710257, 6.852798575241432, 6.881354743109187, 6.928181744098699, 6.994654797396585, 7.077146868619937, 7.164544473802138, 7.238444442863809, 7.278535528488228, 7.272100230498775, 7.221257763984616, 7.141698944189755, 7.054062482428515, 6.975094170415043, 6.91376501445003, 6.872082501928315, 6.847822555552206, 6.837072928864801, 6.835845134205293, 6.84082633954687, 6.849584653564301, 6.860507483131376}, {6.848606869351836, 6.836551106963296, 6.825441561115646, 6.81655680454321, 6.812107405905901, 6.815557261599827, 6.831867741924336, 6.867380720881377, 6.928812585981121, 7.020628967212311, 7.140350166026214, 7.272971668894657, 7.389106082182595, 7.453451034240708, 7.44306440734425, 7.361798660875765, 7.237781854259043, 7.106273940942552, 6.99313245770147, 6.909565462216552, 6.855642082697267, 6.825922021553251, 6.813612440639452, 6.812690027396614, 6.81860345055071, 6.828253510252547, 6.839709016532673}, {6.831166586023586, 6.818804796218802, 6.806822202431263, 6.796557051130921, 6.79049499812875, 6.792824072057539, 6.810035433817112, 6.851240397180393, 6.927419588773187, 7.048185363285409, 7.214412318770605, 7.407213724886268, 7.581210478835789, 7.678514008785894, 7.662812830312304, 7.540012380127651, 7.355318811453724, 7.166242659558683, 7.011314741460387, 6.903063629338904, 6.837300521430444, 6.803521587045906, 6.791062231303412, 6.791500519714738, 6.799011573731299, 6.809921489878079, 6.822099589628805}, {6.817043971397372, 6.804487442871054, 6.791656471365898, 6.779804490475294, 6.7714859644461, 6.77135947230377, 6.787231204398493, 6.831032047612374, 6.918729720680725, 7.066877849955929, 7.282072641473021, 7.541296451056316, 7.775368510226098, 7.898166562884262, 7.87927791353267, 7.720756302741492, 7.470947261065594, 7.218671913458327, 7.020747685678399, 6.890058179238629, 6.815776282969779, 6.780840526080832, 6.770218487128766, 6.77314277418751, 6.782755059704049, 6.795052100053613, 6.807893242126157}, {6.806362108360374, 6.793987523625182, 6.780666428312756, 6.767415763746458, 6.756589666568626, 6.752882797639427, 6.764800264255748, 6.806387417746168, 6.898114727333193, 7.063710760226269, 7.316392321645329, 7.627699947925949, 7.894292920704887, 7.995723600082916, 7.985634212586519, 7.835896262540917, 7.543359718208297, 7.24094904129291, 7.011159300698578, 6.867390752489567, 6.791348917578932, 6.759415938013053, 6.752779895150521, 6.759028872274202, 6.770841445375238, 6.784271539779322, 6.797401423985501}, {6.799196257902635, 6.787645460723926, 6.774578428872485, 6.760661202603423, 6.747786840127027, 6.740166931960198, 6.746079082566222, 6.780213339826242, 6.865551878113858, 7.03093212557181, 7.295236283699719, 7.627259313017956, 7.902970343400872, 7.996110302248572, 7.987659414957541, 7.844665806473557, 7.53738885908768, 7.215402531548791, 6.97746932837246, 6.836183774752383, 6.767206272917278, 6.742488583431381, 6.741311745479563, 6.750935980260122, 6.764379123653909, 6.778189127512978, 6.790883748974068}, {6.795441504213237, 6.785564635167139, 6.773849610046728, 6.760580633535126, 6.747031321333164, 6.736500292596074, 6.736093506835191, 6.759351101707673, 6.828854299165366, 6.974949956599778, 7.220814190462863, 7.542447317973985, 7.829541091530026, 7.9620692975927, 7.943383448626827, 7.764894721637197, 7.453982997867057, 7.145466823376087, 6.926775774655749, 6.804154802278788, 6.749736584700658, 6.734591732377261, 6.738703044256149, 6.75053592584682, 6.764224546869137, 6.777149162291618, 6.788376700768024}, {6.794697276462893, 6.787421832246713, 6.778352152376936, 6.767463017733423, 6.755416719630179, 6.744416090268848, 6.739771057016515, 6.75239388809188, 6.801686192537496, 6.915657585282088, 7.119735865018216, 7.404004124166268, 7.686687594398495, 7.847385605376641, 7.821630590859125, 7.618588813192664, 7.323588872601439, 7.055980279390967, 6.877227343884191, 6.783484520310445, 6.746418064934555, 6.739901761960156, 6.747023873329745, 6.758657388086038, 6.770525822975606, 6.780955291636678, 6.789528015252598}, {6.796200946991733, 6.792336312625754, 6.787117104294887, 6.780355952250216, 6.772260746815418, 6.764029939369476, 6.759015644178421, 6.76471000548955, 6.795343672818852, 6.872998368186963, 7.020922115367739, 7.240108063466045, 7.476116583471624, 7.623179936322296, 7.598701614300163, 7.417115553871529, 7.176544123145663, 6.973803850224111, 6.84624627369554, 6.783611374063736, 6.761485490560134, 6.759713929069829, 6.766103293356892, 6.774508616286978, 6.782309244935895, 6.788655921699076, 6.793487473481822}, {6.798843532548795, 6.798864003980891, 6.798267211398282, 6.796852455855644, 6.794573298246401, 6.791851752528667, 6.790236127569599, 6.793601855062521, 6.809880299306096, 6.852243305580604, 6.936040842143472, 7.06534822862427, 7.210537802571185, 7.304261613575677, 7.28847574195284, 7.173658599499304, 7.027289897920135, 6.908998106789416, 6.837486100954453, 6.803623736569726, 6.791859773455964, 6.790397167296545, 6.79256282306449, 6.795254892839097, 6.797317227735535, 6.798499273676815, 6.798909527673434}, {6.801283697965363, 6.805157261023293, 6.809231497554554, 6.813359171108611, 6.817346106748447, 6.820991545034754, 6.824220121769551, 6.827389937259499, 6.831841819884529, 6.840505282901545, 6.857607689946297, 6.885558414681534, 6.918664057449437, 6.940765997827593, 6.937008471045154, 6.910113263656908, 6.87715762472071, 6.851997861276829, 6.83755183645306, 6.83039593991549, 6.826498926538191, 6.823391927355683, 6.820061489768098, 6.816308716274791, 6.812263537647862, 6.808132796434858, 6.804099817453189}, {6.802145170545397, 6.809273864209884, 6.8172306967026, 6.825860613291387, 6.834754230299275, 6.843035521148423, 6.849024467605643, 6.849777219066632, 6.840678136343654, 6.815720503385994, 6.769878212185215, 6.705025136149717, 6.637228682091514, 6.595361826521358, 6.602327920078329, 6.654070533694507, 6.723571008896335, 6.784241782976494, 6.824271607969944, 6.844394104095141, 6.850317425307452, 6.847790357210231, 6.840963416486971, 6.832395178795731, 6.823510395265032, 6.815033376006613, 6.807289270333292}, {6.800249703627458, 6.809554680648106, 6.819896349125625, 6.830943984417198, 6.841862457018158, 6.85088354824925, 6.854629245430264, 6.847223206399466, 6.819626528804421, 6.76060359302745, 6.662028890465112, 6.530415356594877, 6.398583488581318, 6.319447386577963, 6.332505286765577, 6.430881705091884, 6.567406804090728, 6.69221862701556, 6.780021698844278, 6.829584709840593, 6.850741618912278, 6.854424473690285, 6.848817233421117, 6.839041081406548, 6.827963705723939, 6.817049411744977, 6.806965748088736}, {6.794819297112645, 6.804951639529726, 6.81580871286505, 6.826689466265042, 6.836105036765136, 6.841196817181458, 6.836905189493197, 6.815081868796712, 6.764370446168952, 6.672870182360744, 6.536373004050822, 6.371413048149445, 6.221075895377967, 6.137296291279374, 6.15079364689932, 6.256641872481329, 6.416153396417787, 6.57673264107763, 6.701755630981128, 6.781435975108895, 6.82320993167174, 6.839365368887625, 6.84049889683353, 6.833867180181343, 6.823850894493469, 6.812871760718681, 6.802162017984143}, {6.785588568741793, 6.795200209663352, 6.804761214427468, 6.813073155293877, 6.817890207403784, 6.815277669232163, 6.798826396915947, 6.759123045400022, 6.68465510547851, 6.566452446333961, 6.408494217242655, 6.239297094839491, 6.106266779905343, 6.04265678451334, 6.052316040121886, 6.135709223622327, 6.282917230445919, 6.453390250570421, 6.602389924830453, 6.708544539585568, 6.772622872460932, 6.805044485541785, 6.817011015609027, 6.817131938311185, 6.8110814187891, 6.802269782470764, 6.792609602902421}} |