WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Vektor nach Minima durchsuchen

 

GoTo88
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 27.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2013, 12:42     Titel: Vektor nach Minima durchsuchen
  Antworten mit Zitat      
Hallo,

ich bin absoluter matlab Anfänger, benötige die Software aber im Moment zur Datenanalyse in meinem Physikstudium.
Im Moment habe ich ein kleines problem und weis nicht mit welchen Befehlen ich es mir erleichtern kann:
Vektor a enthält Frequenzdaten (Länge 250)
Vektor b enthält die zugehörigen Amplitudenwerte (Länge 250)

Nun möchte ich gerne mir für ein gewisses Frequenzspektrum die minimale Amplitude ausgeben lassen.
Gibt es hierfür einen Befehl?
Weil Vektor a und b sind ja formal nicht voneinander abhängig für matlab, sondern einfach Spaltenvektoren die mit Zahlen gefüllt sind. Wie kann ich also ein Bereich in Vektor a auswählen und mir für diesen bereich das Minimum der Werte in b suchen lassen?
Vielen Dank für eure Hilfe Wink
Private Nachricht senden Benutzer-Profile anzeigen


Cherup
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2013, 12:54     Titel:
  Antworten mit Zitat      
Hi,

sind deine Frequenzdaten aufsteigend/absteigend sortiert und entsprechen deine Amplitudenwerte den Frequenzdaten (also Amp an Position 1 gehört zu Freq an Position 1 usw.)?

edit: Falls dem so ist, probier mal das:
min(b(a(a=="untere Frequenzgrenze):a(a=="obere Frequenzgrenze")))

VG
Cherup
_________________

Linux is like a Wigwam: no Windows, no Gates and an Apache inside
Private Nachricht senden Benutzer-Profile anzeigen
 
GoTo88
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 27.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2013, 17:09     Titel:
  Antworten mit Zitat      
Danke funktioniert super!

Mal eine Frage noch zum Verständnis der syntax:
min(b(a(a==2):a(a==12))
Warum müssen da zwei == hin? Das "heißt" doch quasi min von b von a von a2 bis a12.

grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Cherup
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2013, 17:25     Titel:
  Antworten mit Zitat      
Nicht ganz.

"==" ist ein "Vergleichs"-Operator, "=" ist die Zuweisung eines Wertes.
Der Code bedeutet nichts anderes als:
Suche das Minimum bei b ab der Position, in denen a den Wert x hat bis zu der Position, in der a den Wert y hat.

Durch das "==" wird der Index des entsprechenden Wertes in a "zurückgegeben".
Dabei ist es egal, ob der Wert nun an Position 1 oder 100 steht. Wichtig ist nur, das die Position deiner oberen Grenze höher ist, als der Index (also die Position) deiner unteren Grenze. Daher hab ich im ersten Posting auch gefragt, ob deine Werte sortiert sind Wink
Wenn du genau weißt, bei welchem Index deine Werte stehen, kannst du auch statt a(a==x) a(x) benutzen, aber a(a==x) hat halt den Vorteil, dass es dynamisch ist.

VG
Cherup
_________________

Linux is like a Wigwam: no Windows, no Gates and an Apache inside
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.