V MATLABu delam z velikimi bazami (do 100.000 vrstic decimalnih števil), večinoma le osnovne in trigonometrične izračune. PC je Intel Pentium Dual Core CPU 2.4GHz, 2GB RAM. Problem je v tem, da izračun traja več minut, pocesor pa je medtem obremenjen le 50%. V MATLAB v.7.6.0 imam obkljukan "Enable multithreaded computation" pa očitno ne pomaga?
Je imel kdo podoben problem? Obstaja kakšen trik kako izkoristiti celotno procesorsko moč?
Hvala in LP.
MATLAB in dual CPU
Re: MATLAB in dual CPU
Mogoče najdeš odgovor v:
http://www.mathworks.com/support/soluti ... n=1-4PG4AN
oz. v:
http://www.mathworks.com/company/newsle ... terns.html.
http://www.mathworks.com/support/soluti ... n=1-4PG4AN
oz. v:
http://www.mathworks.com/company/newsle ... terns.html.
Re: MATLAB in dual CPU
Prvi problem je lahko že v samem operacijske sistemu oz. koliko dobro zna izkoristit večjedrne procesorje. Mogoče preizkusi MatLab ali kak klon (octave, scicos) v linux okolju. Sam imam občutek da je MatLab v Visti kr okoren v primerjavi z XP-ji. Druga stvar bi lahko bila struktura baze, pri večjih je bolje bazo razbit na več majnših, logičnih, dinamično povezanih delov. Pri veliki obremenitvi baze se pozna tudi hitrost diskov, mogoče preveri z raid poljem ali t.i. RAM diskom.
Re: MATLAB in dual CPU
Ce dela 50% potem je jasno, da racuna samo en procesor. To nima veliko veze z vindovsi, program mora pac narest najmanj 2 threada, da potem lahko teceta na dveh procesorjih. Program mora biti zato napisan tako, da uporablja vecnitnost. Paketi kot je matlab mogoce vecnitnost uporabijo tudi interno znotraj funkcij, nisem pa ziher ker ga ne uporabljam.
Re: MATLAB in dual CPU
Mi lahko kdo malo pomaga pri tej nalogiNapišite program legendre.m, ki izračuna ničle n-tega Legendrovega polinoma s kvazi Newtonovo metodo. Začetni približek izberite tako, da boste zagotovil konvergenco k najmanjši ničli polinoma.
Klic funkcije naj bo oblike [nicla, k] = legendre(n,x0,eps), kjer je n stopnja Legendrovega polinoma, x0 začetni približek, eps pa zahtevana natančnost. Funkcija naj vrne niclo in število korakov k, potrebnih za izračun ničle. Upoštevajte dejstvo, da vseh n ničel n-tega Legendrovega polinoma leži na intervalu (–11) in so vse enostavne
Hvala ze vnaprej
PS: se opravicujem ker to nije prava tema za mojega problema ,ampak nevem ali sploh obstaja kaksna tema za Matlab pa se tuki pisal