Sida 1 av 1

Matlab Handledning

Postat: 18 okt 2009, 20:51
av Aluhuru
Hejsan!
Jag skulle vilja ha en liten vägledning gällande vad denna kod skriver ut i MATLAB (om det är OK)?
Jag har försök följa guider på Internet men inte lyckats tyda så bra vad detta betyder.
Finns det någon som är mera haj på MATLAB som kan förklara för mig lite vad de olika raderna betyder t.ex.

Kod: Markera allt

sum = 0;
for k = 0 : 9
for r = k : 9
term = fak(r) ./ (fak(k) .* fak(r-k) );
sum = sum +term;
end
end
sum

function y=fak(n);
y=1;
for i=1 : n;
y= y*1;
end;
Mvh. Joakim

Re: Matlab Handledning

Postat: 18 okt 2009, 21:41
av mcNisse
Håller du på läser sannorlikhetslära? Tycker mig känna igen en formel därifrån...

vad är det du inte förstår, är det syntaxen eller är vad som beraknas?

Re: Matlab Handledning

Postat: 18 okt 2009, 21:52
av Aluhuru
hejsan!
Operanderna/for-satsen och vad som sum blir (hur man kommer fram till den).

Mvh. Joakim

Re: Matlab Handledning

Postat: 18 okt 2009, 22:40
av mcNisse
en for loop. först tilldelas k 0 sedan 1, sedan 2 osv tom 9
end visar var for loopen tar slut

Kod: Markera allt

for k = 0 : 9
end
Den andra for loopen startar från k och går upp till 9.

funktionen fak beräknar faktultet. Dvs produkten av all ingående tal, 0!=1, 1!=1, 2!=1*2, 3!=1*2*3 osv

term blir i första varvet i k loopen
0!/0!/0!
1!/0!/1!
2!/0!/2!
...
9!/0!/9!

i andra varvet blir k=1
1!/1!/0!
2!/1!/1!
...
9!/1!/8!

och så håller det på tills både k och r blir 9
9!/9!/0!

sum blir somman av alla värden av term.

Re: Matlab Handledning

Postat: 19 okt 2009, 06:51
av ycc
Tråden flyttad till programmeringsstavlan /mod

Re: Matlab Handledning

Postat: 19 okt 2009, 18:11
av Lars
Matlab använder mycket matriser så man måste skilja på elementvisa och vanliga operatorer. Så ".*" betyder elementvis multiplikation och det vanliga "*" betyder matrismultiplikation. Notationen n:k betyder en vektor med alla element från n till k, så 1:5 blir [1, 2, 3, 4, 5]. Man kan också ange andra steglängder än 1, exempelvis blir 1:3:10 vektorn [1, 4, 7, 10].

Re: Matlab Handledning

Postat: 24 okt 2009, 09:04
av jsiei97
Aluhuru skrev: Jag skulle vilja ha en liten vägledning gällande vad denna kod skriver ut i MATLAB (om det är OK)?
Det är väl ok, men jag bara känner att jag måste lägga den obligatoriska octave posten ;)
* http://en.wikibooks.org/wiki/MATLAB_Pro ... and_MATLAB

Du vet den där som säger att octave är open source och det är inte matlab... bla bla bla...

och så kan vi gå tillbaka till din fråga igen ::)

Re: Matlab Handledning

Postat: 24 okt 2009, 21:33
av Alleinsora
Termerna blir ju " n över k" som används i bland annat binomialsatsen, Detta är dock första gången jag stöter på en summa av dessa termer.