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

Alle Elemente der Matrix außer...

 

Gast26

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2011, 00:04     Titel: Alle Elemente der Matrix außer...
  Antworten mit Zitat      
Hallo zusammen,

Gibt es eine Möglichkeit alle Elemente einer Matrix zu prüfen außer bestimmte?
Ich möchte eine n*1-Matrix untersuchen. Dabei finde ich ein bestimmtes Matrixelement. Jetzt will ich die Matrix erneut prüfen, allerdings soll das Element, welches ich beim ersten mal gefunden habe nicht berücksichtigt werden... Gibt es dafür einen direkten Befehl?
Am besten wäre es wenn das Element dabei nicht verändert wird, sondern einfach bei der zweiten Suche übergangen wird, aber falls es nur mit überschreiben geht ist das auch okay.

Vielen Dank soweit


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 06.08.2011, 00:23     Titel: Re: Alle Elemente der Matrix außer...
  Antworten mit Zitat      
Hallo Gast26,

Das funktioniert oft mit einem Logicalk Index Vektor und der AND Verknüpfung.
Bitte poste Deinen bisherigen code, dann ist es einfacher ein passendes Code-Beispiel zu posten.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast26

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2011, 01:20     Titel:
  Antworten mit Zitat      
Leider gibt es noch keinen Code...

Werde ihn erst am Montag schreiben.
Der Plan ist folgender:

Ich möchte alle Differenzen der Werte des Vektors A mit dem gegebenen Wert B bilden, dann das Minimum suchen. Der Wert des Vektors A, der das Minimum bildet soll bei der Prüfung der Differenzen zum zweiten gegebenen Wert nicht berücksichtigt werden... Genauso soll dann bei der Bildung der Differenzen zum dritten gegebenen Wert die ersten beiden nicht berücksichtigt werden. Das ganze soll n mal wiederholt werden, wobei n die Länge des Vektors A sein kann, aber auch kürzer...
Falls das als Info nicht reicht poste ich am Montag das was ich mir bis dahin überlegt habe...

Vielen Dank!
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 06.08.2011, 11:05     Titel:
  Antworten mit Zitat      
Du kannst doch A vorher aufsteigend sortieren, denn der kleinste Wert in A wird nachher auch die kleinste Differenz bilden.

Code:

a = rand(100,1);
b = rand(5,1);
% diff Vektor wird immer kleiner, da von a Werte ausgelassen werden
% NaN setzen zur Unterscheidnung von der gebildeten Diff.
diff_ab=NaN(length(a),length(b));
% Sortiere a aufsteigend
a = sort(a);
for i = 1:length(b)
    % Differenz von a und b bilden
    % Anzahl Elemente in a wird in jedem Umlauf um 1 kleiner
    diff_ab(1:end+1-i,i) = a(i:end) - b(i);
end
 
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.