• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Matlab, Pipifax Code

Mitglied seit
09.11.2002
Beiträge
2.549
Reaktionen
0
:ugly:

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!
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
zu 1: i ist schleifenveraenderliche, wird zu beginn auf eins gesetzt und laesst die schleife solange durchlaufen, wie i <= 2n wahr ist.
 
Mitglied seit
06.10.2001
Beiträge
598
Reaktionen
0
:ugly:

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 :ugly:
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 :ugly: ;)
 
Oben