Jau hab hier so Multiple Choice Fragen, Matlab betreffend:
1. Welchen Wert hat p nach Durchlaufen der folgenden Schleife?
p=3;
for i=1:2n
p=p+p
end
a)3n
b)n^3
c)3x(2^n)
d)3x(4^n)
Am besten mit kurzer Erklärung, wie man das
i=1:2n "liest"
2. Welche Ausgabe erhält man mit diesem Code bei Aufruf im Command-Window mit
func(1)?
function a=func(n)
a=1
while (n<=5)
a=a+n
n=n+2
end
a) Programm ist syntaktisch nicht korrekt
b) ans=5
c) ans=10
d) ans=7
Hier würde ich sagen a=10, es sei denn, der Code ist falsch. Das kann ich aber nicht beurteilen. Stimmt c) oder gibt es syntaktische Fehler?
Danke!
Aufgabe 1)
normal geht er in schrittweite von 1 von i=1 bis 2*n
wenn du ihm nicht die schrittweite vorgibtst !
also bei n = 3 z.B. von 1 bis 6
dann wäre ja antwort d) richtig
allerdings habe ich den code eben 1zu1 kopiert und er gibt immer als p=12 raus. das liegt wohl daran, dass es heißen muss
for i=1:2*n
ansonsten scheint er das bei mir so zu interpretieren:
p=3;
for i=1:2
n
p=p+p
end
läuft also von 1:2
und gibt immer n aus
kannste ja mal beim prof/dozenten/was_auch_immer mal ansprechen und klugscheißen

vielleicht liegts aber auch an der matlab version wie das interpretiert wird
normal gibt es aber in matlab nicht sowas wie xy.
man muss immer das MAL * schreiben.
es sei denn man nennt eine variable yx, das geht auch. aber ich glaube dann kann man nicht mit einer zahl anfangen.
wundert mich sowieso das er keinen fehler ausgibt bei der schleife und es einfach so interpretiert wie ich geschrieben hab, also das n wie als würde es "alleine" stehen ...
Aufgabe 2)
hast recht, 10 müsste rauskommen. aber als tip für die zukunft:
auch functions immer mit end beenden
also würdest du dies in ein m-file als unterfunktion einbauen, würde ein fehler kommen weil ein end fehlt.
kannste ja mal googlen falls du willst "subfunctions"
hast du allerdings nur das m-file "func.m" würde es funktionieren.
kannste ja auch nochmal klugscheißen
