Matlab Handledning

Här diskuteras programmering och utveckling
Aluhuru
Inlägg: 34
Blev medlem: 26 apr 2007, 18:46
OS: PCLinuxOS
Ort: Hallstahammar

Matlab Handledning

Inlägg 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
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Matlab Handledning

Inlägg 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?
Aluhuru
Inlägg: 34
Blev medlem: 26 apr 2007, 18:46
OS: PCLinuxOS
Ort: Hallstahammar

Re: Matlab Handledning

Inlägg av Aluhuru »

hejsan!
Operanderna/for-satsen och vad som sum blir (hur man kommer fram till den).

Mvh. Joakim
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Matlab Handledning

Inlägg 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.
ycc
Inlägg: 1818
Blev medlem: 10 feb 2007, 04:08
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Kontakt:

Re: Matlab Handledning

Inlägg av ycc »

Tråden flyttad till programmeringsstavlan /mod
Ubuntu/Linux - Grunder: En introduktion till Ubuntu och Linux
Ubuntu/Linux - Basics: An introduction to Ubuntu and Linux (experimental, automated translation)
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Matlab Handledning

Inlägg 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].
jsiei97
Inlägg: 309
Blev medlem: 09 dec 2008, 21:34
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Trelleborg

Re: Matlab Handledning

Inlägg 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 ::)
Alleinsora
Inlägg: 378
Blev medlem: 24 maj 2007, 01:53
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Kalmar/Luleå
Kontakt:

Re: Matlab Handledning

Inlägg 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.
Hur jag än gör så slutar det alltid med E17 på netbooken....
Skriv svar

Återgå till "Programmering och webbdesign"