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

Vergleich zweier Matrizen

 

elduderino
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 27.07.09
Wohnort: Nürnberg
Version: ---
     Beitrag Verfasst am: 04.08.2009, 00:36     Titel: Vergleich zweier Matrizen
  Antworten mit Zitat      
Hallo zusammen,

ich habe folgendes Problem: Ich habe eine gegebene (n x 1)-Matrix A und eine ermittelte (n x m)-Matrix B, nun möchte ich den ersten Zeilenvektor der Matrix A mit jedem Wert der ersten Zeile der Matrix B vergleichen. Danach jeweils die Werte der zweiten Zeile,... bis zur n-ten Zeile.

Sollte der Wert der Matrix A kleiner als ein Wert der dazugehörigen Zeile der Matrix B sein, soll eine bereits durchgeführte mathematische Operation wiederholt werden. Falls alle Werte der Matrix B kleiner gleich dem Wert der Matrix A sein, soll das Programm fortfahren.

Ich hoffe jemand kann mir dabei weiterhelfen!!!
Private Nachricht senden Benutzer-Profile anzeigen


Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2009, 09:22     Titel:
  Antworten mit Zitat      
Servus elduderino

Zitat:
Ich habe eine gegebene (n x 1)-Matrix A und eine ermittelte (n x m)-Matrix B, nun möchte ich den ersten Zeilenvektor der Matrix A mit jedem Wert der ersten Zeile der Matrix B vergleichen. Danach jeweils die Werte der zweiten Zeile,... bis zur n-ten Zeile.

Deine Beschreibung ist etwas schwer zu verstehen. Was soll z.B. "der erste Zeilenvektor der Matrix A" sein.
A ist ein Spaltenvektor. Du meinst vermutlich das erste Element (=Skalar) des Vektors A?

Wenn die Werte im Vektor A elementweise mit den 'Vektoren' B( i, : ) verglichen werden sollen, kannst Du mal folgendes versuchen:

Code:

for i = 1 : length(A)
    if isempty( find( B( i, :) > A( i)))
        % machenwaswollen
    end
end

 

_________________

lg
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
elduderino
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 27.07.09
Wohnort: Nürnberg
Version: ---
     Beitrag Verfasst am: 05.08.2009, 01:15     Titel:
  Antworten mit Zitat      
Ja super, danke für die schnell Antwort Dagnabit!!!

Leider ist auch schon das nächste Problem aufgetaucht und zwar mit dem "%machenwaswollen" und zwar:
die (n x m)-Matrix B entsteht durch diverse mathematische Formeln und einer Monte-Carlo Simulation.

Wie formuliere ich die Schleife nun, dass diese mathematischen Operationen und die dazugehörige Simulation so lange durchlaufen werden, bis alle Vektoren der Matrix B die Bedingung B( i , : ) < A( i ) erfüllt haben?

Optimal:
Wie kann ich erreichen, dass nicht alle Werte der Marix B nochmals diese Formeln und die Simulation durchlaufen, sondern nur die Werte/Vektoren, die die Bedingung A( i ) < B( i , : ) erfüllen?
Anschließend sollten die betroffenen Vektoren durch neu berechnete/simulierte Werte ersetzt und das ganze so oft wiederholt werden, bis alle Vektoren die Bedingung B( i , : ) < A( i ) erfüllen.

Vielen Dank und hoffentlich hat jemand dazu eine passende Idee.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dagnabit
Forum-Century

Forum-Century


Beiträge: 244
Anmeldedatum: 23.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.08.2009, 08:58     Titel:
  Antworten mit Zitat      
Servus elduderino

Wenn ich Dein Problem richtig verstanden habe, dürfte die Lösung dazu nicht schwer sein. Verwende statt einer if- Abfrage eine while- Schleife:


Code:
for i = 1 : length(A)
    while ~isempty( find( B( i, : ) > A( i)))
        % machenwaswollen
    end
end
 

So wird jede Zeile solange bearbeitet, bis find( B( i, : ) > A( i)) leer ist. Anschließend wird die nächste Zeile abgearbeitet.
_________________

lg
Martin
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 - 2024 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.