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

Normierung einer Matrix durch min- und max-Vektor

 

NNLab
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 11.10.11
Wohnort: Frankfurt am Main
Version: 7.12.0
     Beitrag Verfasst am: 06.08.2012, 16:39     Titel: Normierung einer Matrix durch min- und max-Vektor
  Antworten mit Zitat      
Hallo Freunde,

ich habe eine Matrix die ich normieren will auf ein Intervall von -1 bis +1.

Als Erstes ermittle ich das Maximum und Minimum jeder Zeile mit folgendem Code:

Code:
mx = max(inputs,[],2);
mi = min(inputs,[],2);


Nun möchte ich die Ursprungsmatrix mit diesen zwei Vektoren normieren anhand folgender Formel:

y =  (Matrix - ((MinVek + MaxVek) / 2)) /  (MaxVek - ((MinVek + MaxVek) / 2))

Leider klappt das Ganze nicht so recht, wie ich will in Matlab.
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 06.08.2012, 17:03     Titel:
  Antworten mit Zitat      
Das kann man so lösen...

Code:

M = randn(10,10); % Testmatrix
% Grenzen
imax = 1;
imin = -1;

Mmin = min(M(:));
Mmax = max(M(:));

Mittel = (imax - imin) / (Mmax - Mmin);

y = Mittel*(M - Mmin) + imin;
 
Private Nachricht senden Benutzer-Profile anzeigen
 
NNLab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 11.10.11
Wohnort: Frankfurt am Main
Version: 7.12.0
     Beitrag Verfasst am: 06.08.2012, 17:38     Titel:
  Antworten mit Zitat      
Hi DSP,

danke für die Hilfe, nur ist das Ergebniss nicht so Ganz das was ich will.
Das Problem an diesem Code ist das, dass Min. und Max. irgendwoher aus der Matrix kommen.
Ich jedoch brauche eine Berechnung wo das Min. und Max. aus jeweils jeder Zeile kommen, und die entsprechende Zeile mit ihren Min und Max normiert wird.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 06.08.2012, 17:48     Titel:
  Antworten mit Zitat      
Dann könnte man das in einer Schleife machen und auf jede Zeile anwenden...

Code:

M = randn(10,10); % Testmatrix
% Grenzen
imax = 1;
imin = -1;

% Zeilenweise Bestimmung
Mmin = min(M,[],2);
Mmax = max(M,[],2);

y = zeros(10,10); % preallocate

for i=1:length(Mmax)
     Mittel = (imax - imin) / (Mmax(i) - Mmin(i));
% jede Zeile einzeln normieren
     y(i,:) = Mittel*(M(i,:) - Mmin(i)) + imin;
end
 


Habe das jetzt aber nicht getestet...
Private Nachricht senden Benutzer-Profile anzeigen
 
NNLab
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 11.10.11
Wohnort: Frankfurt am Main
Version: 7.12.0
     Beitrag Verfasst am: 06.08.2012, 18:02     Titel:
  Antworten mit Zitat      
Noch mal Hallo DSP,

auch ohne vorherigem Test deinerseits klappt das Perfekt!

Dank dir!
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.