Forum: PC-Programmierung R oder pseudocode gesucht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von D. A. (wilhem)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen liebe Forumgemeinde,

ich kämpfe gerade gegen ein Problem bzgl. der Suche von max und min 
einer Funktion.
Auf Folie #1 ist ein Radargramm zu sehen. Auf der linken Seite ein 
A-scan und auf der rechten Seite das entsprechende B-Scan zu sehen. Ein 
A-Scan ist nicht anderes als der Querschnitt eines B-Scans.
Wie es auf dem Bild zu sehen ist, entspricht die Intensität (rot) mit 
dem maximalen Wert des elektrischen Feldes. Die Intensität der blauen 
Farbe hingegen deutet auf das Minimum des elektrischen Feldes.

In R versuche ich gerade ein Skript zu schreiben, der die Position 
dieser maximalen und minimalen Werte findet und daraus eine Linie 
erzeugen kann (Folie #2). Wird die Linie auf dem B-Scan überlappt, 
entspricht die Linie den Peaks und den Täler des elektrischen Feldes.

In diesem Fall ist die Suche ziemlich trivial. Mit dem folgenden Code 
kann ich die gesuchten Linien finden:
E.max.value <- apply( matrix_scan, 2, which.max )
E.min.value <- apply( matrix_scan, 2, which.min )

Das Problem habe ich allerdings mit einem Verlauf wie auf der dritten 
Folie zu sehen ist. In diesem Fall habe ich Hyperbeln in den Scandaten 
(grüne Ellipse), die mein Bild erheblich verzerren. D.h. ich habe keine 
glatte Linie mehr und, wenn ich versuchen würde, den max oder min Wert 
zu ermitteln, verschiebt sich die Linie (die grüne auf der Folie) zu 
weit nach oben. Die Linie sollte dennoch auf den "geraden" Segmenten 
liegen und die Hyperbeln ganz ignorieren.

Habt ihr eine Idee, wie ich dieses Problem beseitigen kann? Es muss 
nicht in R sein. Ein Pseudocode, den ich dann in R umschreiben kann, 
würde mir sehr helfen. Irgendwie braucht ich den richtigen Input, um mit 
diesem Problem umzugehen.

Danke
Gruß

: Verschoben durch Moderator
von Achim H. (anymouse)


Bewertung
0 lesenswert
nicht lesenswert
So ein ähnliches Problem hast Du ja auch zwischen Time=2.0 .. 2.5.

Ggf. wäre folgendes interessant:

Anstelle eines A-Scans nimmt man einen A-avg mit dem Mittelwert aller 
Querschnitte. Dann sucht man Max- und Minimum im A-avg (mit der 
Hoffnung, dass sich die Störungen durch die Hyperbeln herausmitteln).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.