Daten in Matrix auswählen < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 22:48 Di 12.07.2011 | Autor: | danm357 |
Liebe Forengemeinde,
leider habe ich wieder ein (Mathematica-) Problem, das ich nicht selber lösen kann und für das ich im Internet noch nichts finden konnte.
Ich habe Messdaten in einer Matrix, die ich nun selektieren und verarbeiten (aufaddieren) möchte. Zum besseren Verständnis hier ein Beispiel. Die Daten können durch die Matrix
matrixTest=Table[-Sin[i/2]-Sin[j/2],{i,20},{j,20}];
erzeugt werden.
Eine schöne Darstellung bekommt man dann mit, z.B.:
xmin=N[Min[matrixTest]];
xmax=N[Max[matrixTest]];
mycolorfun=Function[Blend[{Blue,Cyan,Green,Yellow,Red},#]];
und
MatrixPlot[matrixTest,PlotRange->{All,All,All},AspectRatio->1/1,ColorFunction->(mycolorfun[Rescale[#1,{xmin,xmax}]]&),ColorFunctionScaling->False,MaxPlotPoints->Automatic,FrameLabel->{y,x}]
Wenn man das ganze durchführt, sollte man etwas erhalten, wie im angehängten Bild. [Dateianhang nicht öffentlich]
Nun möchte ich die Summe aus den Werten bilden, die in dem braun eingezeichneten Vieleck liegen.
Kurz gefragt: Wie kann ich das machen (ich weiss, dass so was möglich ist)??
Mir ist es dabei relativ egal, ob Daten, die auf der eingezeichneten Linie liegen ein- oder ausgeschlossen werden.
Schön wäre es einfach, wenn ich ein Vieleck (und nicht nur ein Rechteck) per Hand um die Region meines Interesses zeichnen kann, und mir dann die Summe in diesem Bereich ausgeben lassen kann.
Kann man mit Mathematica so was überhaupt machen? Wenn nein, weiss jemand vielleicht eine Software mit der das einfach geht? Oder weiss jemand, nach welchen Begriffen ich im Internet suchen muss, um einer Lösung näher zu kommen?
Über jede noch so kleine Hilfestellung würde ich mich sehr freuen!
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:18 Fr 15.07.2011 | Autor: | danm357 |
Liebe Forenbenutzer,
dank grosser Unterstützung in matheplanet.de und in stackoverflow.com, konnte ich eine Lösung für mein Problem finden.
Hier die Lösung:
Ich erzeuge meine Grafik mit ReliefImage, dann zeichne ich einfach ein Polygon über meine ROI (region of interest), um dann mit Rechtsklick das GraphicsEditing zu verwenden und mir damit eine Maske erzeugen zu lassen.
Diese Maske verarbeite ich mit
Maske=Image[„eingefügtes Bild“,“Bit“];
Daraufhin verwende ich
tensor=MatrixForm[matrixTest*ImageData@Maske];
Das erzeugt mir einen Tensor, den ich mit
matrix=tensor[ [1,All,All] ][ [All,All,1] ]
auf eine Matrix reduzieren kann. In dieser Matrix befindet sich nun nur noch die Daten meiner ROI!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:20 Fr 12.08.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|