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

Vektor mit Mittelwerte jeder Zeile einer Matrix bilden???

 

donfelice
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 04.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2010, 18:33     Titel: Vektor mit Mittelwerte jeder Zeile einer Matrix bilden???
  Antworten mit Zitat      
Hi,
ich habe mal wieder ein Problem an dem ich jetzt schon langer herumtue.
Es geht darum, einen Spaltenvektor zu erstellen, der aus den Mittelwerten der Zeilen einer Matrix, besteht!

Zur näheren Erläuterung:

Code:

A=
1 2 3 4 5
6 7 8 9 0
9 8 7 6 5
4 3 2 1 0
1 2 3 4 5

B=
mean(A(1,:))    % --> 3
mean(A(2,:))    % --> 6
mean(A(3,:))    % --> 7
mean(A(4,:))    % --> 2
mean(A(5,:))    % --> 3
 


die Smilies sind eigentlich Doppelpunkte, k.a woher die kommen.

Die Sache ist die, dass meine Matrix aber nicht 6*5 ist, sondern 5554*151, und so die manuelle Methode ausfällt.

Ich hab versuch das ganze mit einer Schleife zu lösen (Beispiel von oben):

Code:
for i=1:6
B(i,:) = mean(A(i,:))
 


damit funktioniert es nicht!!!
Da ich allerdings leider kein Chief der Schleifen bin, habe ich keine Ahnung was ich daran verbessern könnte. Vielleicht geht es auch ohne Schleife?

Ich hoffe ihr könnt mir helfen!!!

mfg
Felix
Private Nachricht senden Benutzer-Profile anzeigen


donfelice
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 04.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2010, 19:19     Titel:
  Antworten mit Zitat      
achja, es kommt kein Fehler wenn ich diese Syntax verwende, sondern mein PC läuft durch die Schleife aber ewig.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2010, 19:31     Titel:
  Antworten mit Zitat      
Hallo,

Code:


steht übrigens auch in der Doku.
Code:


Und selbst wenn einem das nicht einfällt: auf
Code:

hätte man doch kommen können?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Anfänger00
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 06.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2010, 19:39     Titel:
  Antworten mit Zitat      
Hallo liebe Leute,
da mein Problem sehr ähnlich ist, stell ich meine Frage mal hier:

Ich führe eine Funktion aus und erhalten als Ergbnis n mal a x a Matrizen, die alle f=..... heißen:

f =

0.0888 0.0000 0.0000 0.0000
0.0000 0.1011 0.0457 0.0000
0.0000 0.0838 0.1210 0.0000
0.0000 0.0000 0.0000 0.0845


f =

0.0503 0.0000 0.0000 0.0000
0.0000 0.1117 0.0454 0.0000
0.0000 0.0614 0.0102 0.0000
0.0000 0.0000 0.0000 0.0539


f =

0.0433 0.0000 0.0000 0.0000
0.0001 0.1127 0.1109 0.0000
0.0024 0.0805 0.0441 0.0000
0.0000 0.0000 0.0000 0.1508


f =

0.0807 0.0000 0.0001 0.0000
0.0000 0.0110 0.1152 0.0000
0.0000 0.0318 0.1029 0.0000
0.0000 0.0000 0.0000 0.1257

Wie stell ich das an, dass er diese Ergebnisse nimmt und darauf, die genannte Operation anwenden (Mittelwert der Zeilen)? Also ich bräuchte für jede Matrix einen Vektor G als Ergebnis.
Ich schätze, man müsste die Ergenisse zwischenspeichern?

Kann mir da jemand weiterhelfen.
Danke und LG

Zuletzt bearbeitet von Anfänger00 am 07.10.2010, 21:13, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.10.2010, 20:05     Titel:
  Antworten mit Zitat      
Hallo,

die Frage ist auch erstmal, wie diese f's zustandekommen. Durch eine Schleife?
Dann evtl. so:

Code:
G = zeros(4, n);
for I=1:n
% f berechnen
G(:, I) = mean(f, 2);
end


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Anfänger00
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 06.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2010, 21:12     Titel:
  Antworten mit Zitat      
Hallo Harald,
danke für die Hilfe.
Die Funktion f ist auch durch eine Schleife zustanden gekommen. In der Ausgangsituation erstelle ich eine Matrix X (a x b) und berechne die f indem ich vektorweise auf jeweils zwei spalten X(:,i) und X(:,i+1)'
[mit i=1:n-1] der Matrix zugreife. dadurch bekomme ich n Matrizen jeweils mit der Dimension a x a.
Mit der Schleife krieg ich das nicht wirklich hin. Am besten wäre es wenn ich als Ergebnis n Vektoren der Länge a erhalten würde.

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 07.10.2010, 21:17     Titel:
  Antworten mit Zitat      
Hallo Donfelice,

Zitat:
Code:
for i=1:6
B(i,:) = mean(A(i,:))

achja, es kommt kein Fehler wenn ich diese Syntax verwende, sondern mein PC läuft durch die Schleife aber ewig.

Nein, der PC läuft nicht ewig, sondern gar nicht. Er wartet auf das abschließende "end". Siehe "help for".

Gruß, Jan
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.