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

for-schleife

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.01.2012, 21:15     Titel: for-schleife
  Antworten mit Zitat      
Hallo zusammen!

Ich hab ein Problem mit meiner for-Schleife:
Ich habe einen Vektor mit der Länge 1x124 und ich möchte von diesem Vektor jetzt immer 10 Werte mitteln.

Code:


v ... mein Vektor
n = 0;

for i = 1:10;
wg(i) = n+(n+1);
wg(i) = wg./10;
end

 


Mit dieser Schleife zähle ich 10 Werte zusammen und mittle diese. Ich möchte, dass Matlab dann auf die nächsten 10 Werte zugreife, also auf den 11. bis 20. Wert usw.
Ich hab das ganze mit einer weiteren Schleife probiert, hat aber leider nie so richtig funktioniert. Matlab greift immer nur auf die erste 10 Werte zu.

Wär toll, wenn mir jemand einen Tipp geben könnte.
Danke!!!

MFG


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.01.2012, 22:06     Titel: Re: for-schleife
  Antworten mit Zitat      
Hallo,

Was soll mit den 4 übrigbleibenden Elementen passieren?
Deine FOR-Schleife benutzt die Werte aus v gar nicht - merkwürdig, oder?
Ausserdem wird in der ersten Iteration wg(1) auf 1/10 gesetzt. Die zweite Iteration scheitert bereits mit einer Fehlermeldung, da Du versuchst den [1 x 2] Vektor wg in das Element wg(2) zu kopieren. Das geht aber nicht, da ein Element immer nur einen einzelnen Wert tragen kann.

Ich würde empfehlen es noch weiter zu probieren.

Gruß, Jan

Zuletzt bearbeitet von Jan S am 16.01.2012, 00:06, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Pinky
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 14.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2012, 11:55     Titel:
  Antworten mit Zitat      
Hallo,

Du solltest dir einmal den Befehl mean anschauen. Darüber hinaus kann man auch variabel indizieren, zum Beispiel:
Code:


Prinzipiell ist es auch immer wesentlich besser Vektoren vorher zu definieren. Wenn du also weißt, dass dein Mittelwertvektor 12 Einträge hat, dann schreib doch vorher ein.

Code:


gruß Pinky
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.01.2012, 20:06     Titel:
  Antworten mit Zitat      
hallo!

ich habe die erste Schleife bearbeitet und jetzt zählt mir matlab die ersten 10 Werte zusammen und mittelt diese.

Code:


for i = 1:10;
    summe = v(i)+v(i+1);
    MW = summe/10;
end
 


hab jetzt probiert, eine weitere schleife über die obige zu legen, damit matlab mir den vektor v durchläuft. Da bekomm ich aber immer die fehlermeldung, dass matlab auf den zweiten wert nicht zugreifen kann.

MFG
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.01.2012, 00:13     Titel:
  Antworten mit Zitat      
Hallo,

Bitte poste den vollständigen Code und eine exacte Kopie der Fehlermeldung. Ansonsten muss man zu viel erraten.

Das gezeigte Programm zählt immer zwei aufeinander folgende Elemente des Vektors v zusammen, teilt die Summe durch 10 und speichert das Ergebnis in der Variablen MW. Dabei wird der Wert von MW aus der vorhergehenden Iteration immer wieder überschrieben. Das ergibt nach der Schleife folgenden Wert: MW = (v(10) + v(11)) / 10
Das ist nicht das, was Du suchst, oder?

Bitte beginne mit einer leichteren Aufgabe: Berechne den Mittelwert des Vektors 1:10. Wenn das gelöst ist, ist die Erweiterung auf den längeren Vektor erst der zweite Schritt.

Ich hatte gefragt, was mit den 4 verbleibenden Elementen am Schluß passieren soll, wenn Du einen Vektor mit 124 Elementen in 10er Päckchen aufteilst. Wenn dies geklärt wäre, könnte ich Dir leichter helfen.

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.