|
|
Erste Schritte Matlab: Aufgabe |
|
Hansi92 |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.11.2018, 20:47
Titel: Erste Schritte Matlab: Aufgabe
|
|
]Hallo ich bin neu hier im Forum. Ich tue mir schwer mit der Informatik. Ich habe folgende Aufgabe zu lösen und wollte fragen ob mir jemand den Code erklären könnte der dazu notwendig ist.
Schreiben Sie ein MATLAB-Programm GeschachtelteSchleife.m, das folgende Zahlen ziffernweise ausgibt. Überlegen Sie sich eine geeignete Schleifenkonstruktion:
1 3 5
4 6 8
7 9 11
10 12 14
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 21.11.2018, 21:34
Titel:
|
|
Hallo,
was genau hast du bisher versucht? Dass zwei geschachtelte for-Schleifen notwendig sind, schreibst du ja selbst schon. Dann leg mal los?
Falls dir komplett der Einstieg fehlt, siehe hier:
https://de.mathworks.com/learn/tutorials/matlab-onramp.html
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Hansi92 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.11.2018, 12:16
Titel:
|
|
zwei for-schleifen?
damit soll es funktionieren? ich habe for und while versucht alle was ich hinbekomme ist:
Ausgabe 1 3 5
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 22.11.2018, 15:50
Titel:
|
|
Hallo Hansi92,
Guter Anfang. FOR und WHILE-Schleifen sind prinzipiell equivalent. Bei letzteren kann man allerdings das Abbruch-Kriterium innerhalb der Schleife ändern, bei ersterem nicht.
Deine WHILE-Schleife als etwas einfachere FOR-Schleife:
Nun brauchst Du, wie schon erwähnt, noch eine zweite Schleife drum herum. Entweder Du lässt dann die innere Schleife nicht mehr bei 1 starten, sondern beim aktuellen Wert der äußeren Schleife. Oder Du addierst den Wert des äußeren Schleifenzählers im fprintf Befehl dazu.
Viele Erfolg, Jan
|
|
|
Hansi92 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.11.2018, 17:10
Titel:
|
|
Danke für die Antworten, ich habe es jetzt mal mit for-schleifen probiert.
Das ist mein theoretisches Ergebnis:
Was mache ich Falsch?
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.11.2018, 17:39
Titel:
|
|
Hallo,
mehrere Kleinigkeiten:
Syntax von fprintf war falsch, Strichpunkte fehlten, und wenn du x um 1 erhöhen willst, dann solltest du das auch wieder in eine Variable (x?) zurückschreiben.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Hansi92 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.11.2018, 17:50
Titel:
|
|
Okay vielen danke. Ich hoffe mit Übung wird mein algorithmisches Denken besser mit der Zeit.
|
|
|
Hansi92 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.11.2018, 19:34
Titel:
|
|
Noch eine Frage: Welches alternative Programm ist noch möglich zur Lösung dieser Aufgabe?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.11.2018, 20:31
Titel:
|
|
Hallo,
was genau meinst du damit?
Welchen Code man noch verwenden könnte? Ich würde direkt k = 3*i + 2*j schreiben, und man könnte die Zahlen in einer Matrix sammeln statt jede einzeln auszugeben.
Oder am einfachsten bzw. zumindest am kompaktesten:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Hansi92 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2018, 12:48
Titel:
|
|
Okay ich habs.
Kann mir jemand vielleicht den Unterschied zwischen einer rekursiven und einer interaktiven Programmierung verständlich machen? Ich bin jetzt beim Thema Funktionen angelangt.
Also ich habe verstanden das Funktionen Unterprogramme sind die man bei Bedarf aufrufen kann und welche man mit Eingabewerten füttert und welche mir dann Ausgabewerte zurückgibt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2018, 13:07
Titel:
|
|
Hallo,
rekursiv: Programm ruft sich selbst auf
interaktiv: Anwender kann während des Programmablaufs Einfluss auf die Ausführung nehmen, z.B. über Dialogboxen und Auswahlmöglichkeiten
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Hansi92 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 21.11.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2018, 13:57
Titel:
|
|
kann man das als iterative Funktion von der Summe:
E von x=5 bis f von x=5+6+7+8+....+n betrachten?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2018, 17:16
Titel:
|
|
Hallo,
das ist eine Iteration, ja. Grundsätzlich ist alles, was for oder while enthält, iterativ. Eben hast du aber noch nach interaktiv gefragt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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 - 2024
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.
|
|