|
|
Erzeugung einer Matrix, die die Fakultätswerte 1-n! enthäl |
|
MDT |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 21:10
Titel: Erzeugung einer Matrix, die die Fakultätswerte 1-n! enthäl
|
 |
Ich bin zurzeit im Erstsemester in einem Ingenieurs-Studiengang und habe folgende Aufgabe vor mir liegen:
Erstellen Sie ein MATLAB-Programm zur Erzeugung einer Matrix fac, die die Fakultätswerte 1 ... n! enthält (n soll eine wählbare natürliche Zahl sein). Nutzen Sie zur Erstellung der Matrix eine for-Schleife und als Rechenoperation lediglich die Multiplikation.
Das Problem ist nun, dass ich keine Ahnung habe, wie ich die oben genannte Matrix fac mit Hilfe einer for-schleife erstellen soll und diese dann auch noch die Fakultätswerte enthalten soll.
Bin für Lösungsvorschläge sehr dankbar, möchte aber nicht die Lösung selber haben!
MfG
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 21:32
Titel:
|
 |
Zitat: |
Bin für Lösungsvorschläge sehr dankbar, möchte aber nicht die Lösung selber haben! |
dann fang doch mal an und stell dann konkrete fragen. jeder eintrag ergiet sich ja aus dem vorherigen.
_________________
richtig Fragen
|
|
|
MDT |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 21:50
Titel:
|
 |
Gut, wie kann ich in Matlab den Wert mit einer Fakultät ausgeben? Das würde mir schon deutlich weiterhelfen.
Bsp.
b=3! scheint ja nicht zu funktionieren
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 22:14
Titel:
|
 |
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 22:18
Titel:
|
 |
wobei ich nicht denke das du den befehl benutzen sollst
Zitat: |
. Nutzen Sie zur Erstellung der Matrix eine for-Schleife und als Rechenoperation lediglich die Multiplikation. |
das problem ist das das so wenig code ist das es schwer ist einen tip zu geben ohne die lösung hinzuschreiben.
_________________
richtig Fragen
|
|
|
MDT |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 22:32
Titel:
|
 |
Also, die Aufgabe geht noch weiter mit Zahleneinschränkungen, welche aber relativ einfach sind.
Zbs. Geben sie ab 20 eine Warnung aus, oder unter 0 eine Fehlermedlung. Diese Befehle sind mit If,else und disp relativ leicht zu lösen.
Mein Problem ist eben, dass ich - trotz Skript - nicht auf den Ansatz komme.
Hatte sowas im Kopf zuerst.
Das Problem ist eben, dass nur "n" eine wählbare natürliche Zahl sein soll. Sonst müsste ich eben n und b definieren.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 22:44
Titel:
|
 |
|
 |
|
Hallo MDT,
Ich kann nicht erraten, was "b" hier ist. Mir ist auch unklar, wieso "(b+1)" vorkommt. Wie wäre es, wenn Du den bisherigen Code postest und konkrete Fragen dazu stellst?
Fehlermeldungen sollten niemals per
disp
erfolgen, sondern grundsätzlich mit
error
. Es gibt nichts schlimmeres als Code, der im Falle eines Fehlers nur eine kleine Meldung ausgibt, ansonsten aber weiter läuft, so dass man leicht übersehen kann, dass ein ernstes Problem aufgetreten ist.
Um auf einen Ansatz zu kommen, kannst Du zunächst die Aufgabe von Hand lösen. Du startest mit der Frage: "Berechne die Fakultät von 4". Dann würdest Du dies tun:
Nun soll das Ergebnis in einer Matrix (um genau zu sein wohl ein Vektor) gespeichert werden. Das funktioniert mit einer FOR-Schleife.
Nun muss man das noch ein wenig anpassen. Vielleicht sollte man zunächst das erste Element auf 1 setzen. Und dann könnte "Ergebnis(k) = Ergebnis(k-1) * ?" hilfreich sein. Für k=1 wird das aber einen Fehler erzeugen. Den kannst Du aber umgehen.
Viel erfolg, Jan
|
|
|
MDT |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2015, 22:58
Titel:
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Hallo MDT,
Ich kann nicht erraten, was "b" hier ist. Mir ist auch unklar, wieso "(b+1)" vorkommt. Wie wäre es, wenn Du den bisherigen Code postest und konkrete Fragen dazu stellst?
Fehlermeldungen sollten niemals per
disp
erfolgen, sondern grundsätzlich mit
error
. Es gibt nichts schlimmeres als Code, der im Falle eines Fehlers nur eine kleine Meldung ausgibt, ansonsten aber weiter läuft, so dass man leicht übersehen kann, dass ein ernstes Problem aufgetreten ist. |
Das kann ich dir leicht beantworten. Und zwar sind das unsere ersten Matlab-Stunden, wie gesagt Erstsemester, und wir dürfen/sollen solche Befehle noch mit Disp ausgeben. Ich will dir gar nicht widersprechen, haben aber nur die Grund-Basics bis jetzt gehabt und deswegen ist es auch "noch" erlaubt.
Weiterhin danke für diesen Ansatz. Ich schaue mal wie er mir weiterhilft!
b war gedacht als 2.te variable. Sozusagen damit ich mit 2 Variablen meine Fakultät definiere, welches aber leider nicht gestattet ist.
MfG
|
|
|
|
|
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.
|
|