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

Element aus Vektor mit kleinstem Unterschied zum Gesuchten

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2010, 10:08     Titel: Element aus Vektor mit kleinstem Unterschied zum Gesuchten
  Antworten mit Zitat      
Hallo zusammen,

ich habe einen Vektor in dem ca. 30000 Elemente stehen,
nun möchte ich den Index finden, dessen Element den Gerigsten Unterschied zu einem gegebenen Wert hat. Dies kann man mit Hilfe von

Code:
lösen, aber wie?

So liefert er mir fast alle Indexe des Vektors:

Code:
ind = find(vektor1 ~= 1000);

 


eigentlich sollte er mir aber doch genau den anzeigen, der der 1000 am nächsten kommt, oder?

Grüße


Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 19.08.2010, 10:15     Titel:
  Antworten mit Zitat      
Hi,

meinst du sowas:
Code:

v = randperm(100);
>> [val idx]=min(abs(v-5.2))
 


Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2010, 10:25     Titel:
  Antworten mit Zitat      
Hallo Vito,

danke für die schnelle Antwort,

entweder ich verstehe nicht wie ich das auf meinen FAll anwenden soll, oder wir sprechen aneinander vorbei.

Ich habe einen Vektor z.B.:

Code:
x = [100 200 300 400 500]


nun hbe ich z.B. die Zahl 260 und möchte nun den Index des Elements finden, das am nahesten an der 260 liegt, hier die 300 also möchte ich den Index 3 als Ergebnis der Fkt. bekommen.

Grüße
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 19.08.2010, 10:31     Titel:
  Antworten mit Zitat      
Hi,

das was dir Vito geschrieben hat ist die Lösung.
Code:

x = [100 200 300 400 500];
zahl=260;
[val idx]=min(abs(x-zahl)) ;
 


in der variable idx steht dein gesuchter index.

gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 19.08.2010, 10:35     Titel:
  Antworten mit Zitat      
Hi,

genau so sieht es aus Wink

Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2010, 10:37     Titel:
  Antworten mit Zitat      
Hallo Fourier,

ok, nun ist es selbst mir aufgefallen... Klar wenn man sich das mit den eigenen Minimalbsp durchspielt versteht mans auch schneller...

Grüße
 
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.