|
|
| Cavio10 |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 06.04.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.04.2017, 16:27
Titel: Matrix durchzählen
|
 |
Hallo liebe Forenmitglieder,
ich habe folgendes Problem: Ich soll ein Programm für einen Abzählreim von 10 Kindern schreiben. Es wird jeweils bis 7 gezählt und das Kind fehlt dann raus. Dann wird beim nächsten Kind wieder von vorne angefangen bis nur noch 1 Kind übrig ist. Das Ergebnis wird dann angezeigt. Bis jetzt habe ich mir folgendes überlegt:
Ich bin noch ganz neu in Matlab. Ich weiß einfach nicht wie ich das Zählen umsetzen soll...es darf ja dann auch nicht wieder ganz vorne anfangen
Für Vorschläge und Tipps wäre ich sehr dankbar!
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.04.2017, 14:40
Titel: Re: Matrix durchzählen
|
 |
Hallo Cavio10,
Jetzt bleibt die Frage, wie Du den Wert für "index" findest. Da ich annehme, dass das eine Hausaufgabe ist, schlage ich vor: Probiere es weiter und poste den Code, falls Du nicht weiter kommst.
Gruß, Jan
|
|
|
|
| Cavio10 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 06.04.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.04.2017, 12:15
Titel:
|
 |
Hallo,
vielen Dank für deine Antwort. Ich habe jetzt für den Index i den Startwert 1 festgelegt...und das muss ja erhöht werden also i+1...aber so richtig funktioniert das noch nicht ^^ es soll ja bloß bis 7 zählen, löschen und dann weiterzählen....
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.04.2017, 21:43
Titel:
|
 |
Hallo Cavio10,
Es fehlt noch das Zählen bis 7. Verwende eine FOR-Schleife.
A=A(A~=A(i)) ist wohl nicht praktisch. Bleibe lieber bei den Indizes.
Gruß, Jan
|
|
|
|
| Cavio10 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 06.04.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.04.2017, 10:32
Titel:
|
 |
Ich habe jetzt Folgendes versucht:
Ich habe gedacht, dass ich das ganze durch die 10 Elemente ja 9 Mal durchlaufen muss bis nur noch ein Element übrig ist...aber ich glaube ich verstehe das mit der for-schleife falsch...das erste ist der Startwert. Müsste ich dann nicht mit 7 anfangen? Der Wert in der Mitte ist das Inkrement, um das der Startwert erhöht wird. Aber es soll doch beim Zählschritt 7 bleiben....oje
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 10.04.2017, 12:53
Titel:
|
 |
| |
 |
|
Hallo Cavio10,
Was macht denn "for i=1:6:9"? Es zählt alle Zahlen ab, die von 1 bis 9 gehen mit der Schrittweite 6. Also: i=1, i=7, fertig. Es ist also nicht "Schleife mit Inkrement 1", sondern mit "Inkrement 6". Nützlich ist das nicht.
Stelle Dir das Abzählen doch mal real vor: 10 Kinder stehen in einer Reihe:
Jetzt zählst Du 7 Kinder ab:
Beim ersten mal stoppt das beim 7. Element von A. Du willst aber nicht einfach das 7. löschen, denn bei der nächsten Runde startet das Zählen ja beim neuen 7. Kind (das vorher das 8. war). Du brauchst also noch einen weiteren Zähler:
Nun gibt es einiges zu überlegen: Soll das wirklich bei iKind=1 starten, oder wäre 0 nicht besser? Wenn in der ersten Runde das 7. Kind ausgeschieden ist, soll dann das Zählen beim 8. weitere gehen? Eigentlich muss es doch das neue 7. sein.
Verwende am besten den Debugger, um die nötigen Änderungen zu untersuchen. Setze einen Breakpoint in die erste Zeile und gehe Zeile für Zeile durch den Code.
Programmieren ist nicht einfach. Es erfordert einige Übung solche Algorithmen in abstrakten Code umzusetzen. Wenn es schwierig wird, hilft of eine konkrete Vorstellung des Vorgangs.
Gruß, Jan
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|