Forum » Programiranje » Matlab
Matlab
__jack__ ::
Ve kdo za kakšno fajn gradivo za Matlab za začetnika? Knjiga ali pa še boljše kaj na netu?
švrk ::
Priporočam knjigo:
http://www.dmfa-zaloznistvo.si/mafi/ma/...
v njej imaš celo poglavje namenjeno Matlabu in je vse lepo razloženo.
Če si študent jo dobiš za švoh 11EUR ali pa si jo sposodi v knjižnici.
Na netu je ogromno help-a tako da moraš malo poiskat. Uporabna zadevca je npr:
http://www.km.fgg.uni-lj.si/psks/matlab...
http://www.dmfa-zaloznistvo.si/mafi/ma/...
v njej imaš celo poglavje namenjeno Matlabu in je vse lepo razloženo.
Če si študent jo dobiš za švoh 11EUR ali pa si jo sposodi v knjižnici.
Na netu je ogromno help-a tako da moraš malo poiskat. Uporabna zadevca je npr:
http://www.km.fgg.uni-lj.si/psks/matlab...
LiamGothe ::
Pozdravljeni!
Je imel kdo od vas mogoče opravka z paralelnim programiranjem v Matlabu?.
Pišem program za izračunati produkt matrik in mi nikakor ne dela kot bi želel.
Vzporedno mi porabi veliko več časa za izračunati. Množim pa vektorsko (vektorsko množenje matrik).
Če se kdo javi prilepem gor še kodo:D
Hvala in lp
Je imel kdo od vas mogoče opravka z paralelnim programiranjem v Matlabu?.
Pišem program za izračunati produkt matrik in mi nikakor ne dela kot bi želel.
Vzporedno mi porabi veliko več časa za izračunati. Množim pa vektorsko (vektorsko množenje matrik).
Če se kdo javi prilepem gor še kodo:D
Hvala in lp
švrk ::
Če želiš, da ti kdo pomaga prilepi kodo in natančno opiši problem. Dvomim, da bo kdo odgovarjal na tvoja vprašanja ter te prosil za kodo in razlago problema:)
LiamGothe ::
torej.
Želim zmnožiti 2 matriki. To se pravi da moreš eno vrstico ene matrike pomnožiti z vsakim stolpec druge matrike. Probelm je pa v tem da ko povečam matriko porabi za izračunat veliko časa. Če dam pa majhno matriko je pa vse v redu. Dal sm velikost matrike 400x400.
koda:
Želim zmnožiti 2 matriki. To se pravi da moreš eno vrstico ene matrike pomnožiti z vsakim stolpec druge matrike. Probelm je pa v tem da ko povečam matriko porabi za izračunat veliko časa. Če dam pa majhno matriko je pa vse v redu. Dal sm velikost matrike 400x400.
koda:
A=magic(400);%[1,0,2;-1,3,1]; B=magic(400);%[3,1;2,1;1,0]; [x,y]=size(A); l=0; tic C=zeros(x); for k=1:x for i=1:x %fprintf(1,'%d. ',k); parfor j=1:x l=l+A(k,j)*B(j,i); %fprintf(1,'%d ',l); end C(k,i)=l; l=0; %fprintf(1,'\n'); end end toc %C
Zgodovina sprememb…
- spremenil: LiamGothe ()
LiamGothe ::
Skalarnega produkta ne moreš tkole paralelizirat. Lahko pa ostali dve for zanki.
primer je z wikipedii. In je vektorski. problem je v času ne da mi koad ne dela. izračuna že, ampak traja veliko časa.
primer: če sta A in B matriki velikosti 20:
čas za paralelno je: Elapsed time is 85.990975 seconds.
čas za neparalelno je: Elapsed time is 0.000187 seconds.
Kaj si pa mislil z ostalimi 2 zankami. Se opravičujem ampak sem nov (začetnik):D
Senitel ::
Seveda je počasno. Če pa skalarnega produka ne moreš izvajat paralelno (l = l + ...) in ti Matlab verjetno nameče not miljardo mutexov, ki vse skup serializirajo nazaj. Koda v parfor ne sme bit odvisna od ostalih threadov.
Od treh for zank, dve od katerih sta fajn kandidatki za parfor si izbral ravno tisto, ki se jo je za izognit.
Od treh for zank, dve od katerih sta fajn kandidatki za parfor si izbral ravno tisto, ki se jo je za izognit.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Baza v vektorskem prostoruOddelek: Šola | 2621 (1119) | BivšiUser2 |
» | Matlab problemOddelek: Pomoč in nasveti | 1432 (856) | bluefish |
» | Matlab pomočOddelek: Programiranje | 2108 (1412) | Jan23 |
» | Matrix multiplication program Pycuda in MathlabOddelek: Programiranje | 2525 (2100) | Senitel |
» | excel+visual basicOddelek: Pomoč in nasveti | 1558 (1445) | švrk |