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

Maximum einer Matrix in eine zweite Matrix sortieren

 

Manou_§
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2012, 17:40     Titel: Maximum einer Matrix in eine zweite Matrix sortieren
  Antworten mit Zitat      
Hallo Zusammen,

Beim Aufbau einer Schleife, die die Maximale Werte in einer Matrix sucht, bin ich gegen das folgende Problem gestoßen Confused ,

ich möchte eine Matrix M1(n,2) mit der Schleife for durchlaufen und die Maxima jedes Mal in eine zweite Matrix abspeichern dann aussortieren,

Also praktisch lautet mein Ansatz so:
Code:

% Maximum einer Matrix suchen und abspeichern

x = 1:pi/10:10*pi;           % erzeuge vektor x

y=sin(x)+cos(x);             % erzeuge vektor z

M1=[x;y];                       % definere die matrix M1


                                     % suche nach Maximum von z
v= 1;

for i=1:3:length(x),         % Interval in length(x)/3 verteilen        
   
   for k= v:1:i                  % durchlaufen der Matrix bei jeder Aufteilung und die Maxima suchen
 
    x2(k)=x(k);
    y2(k)=y(k);

    if ym(j)= max (y2)
    xm(j)= x(k);
    end;
   
    end;
   v=i+1;
   j=j+1;
   end;

M2=[xm;ym];                 % Maximum in einer weitere Matrix M2 abspeichern

end;
 

---> Das funktioniert NICHT Rolling Eyes , Außerdem die werte in der Matrix M2 sollen aussortiert werden.

Als nächste Schritt möchte ich Matrix M1 mit einem verschobenen Vektor durchlafen lassen, das heißt ab einem bestimmten Wert anfangen Bsp. x(3) und y(3) !!!!!!!!!!!

Für eine Hilfe würde ich dankbar sein Very Happy Very Happy

beste Grüße,

Manu

_Peter_: Bitte Codeumgebung nutzen. Danke.
Private Nachricht senden Benutzer-Profile anzeigen


Manou_§
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2012, 22:19     Titel: Es scheint etwas kompleziert zu sein :(
  Antworten mit Zitat      
OK,

nehmen wir an die Matrix M1[x y] ist:

M1 =
[ 1 ; 0.6
2 ; 0.5
3 ; 0.4
4 ; -0.7
5 ; 0.2
6 ; -0.3
7 ; -0.1
8 ; 0.2]

die Schleife soll das Maximum von der ersten drei werten von y und jedes mal mit einer Verschiebung von 1 zeile, und damit das Ergebniss :

1 / M2 =
[ 1 ; 0.6
5 ; 0.2
8 ; 0.2 ]

% erste zeiel weg !!

2 / M3 =
[ 2 ; 0.5
5 ; 0.2
8 ; 0.2 ]

% erste und zweite zeile weg !!

3 / M4 =
[ 3 ; 0.4
8 ; 0.2 ]

% erste bis drite zeile weg !!

4 / M4 =
[ 5 ; 0.2
8 ; 0.2 ]

% erste bis vierte zeile weg !!

5 / M5 =
[ 5 ; 0.2
8 ; 0.2 ]

% erste bis fünfte zeile weg !!

6 / M5 = [ 8 ; 0.2 ]

Endlich bekommt man eine Matrix M aus 1/ bis 6/:

M =
[ 1 ; 0.6
2 ; 0.5
3 ; 0.4
5 ; 0.2
8 ; 0.2]

Ich hoffe dass es jetzt mehr übersichtilche ist .
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.