/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
MATLAB: Hvordan optimerer jeg det her plot~
Fra : John


Dato : 16-12-05 12:38

Hejsa

Jeg har lavet et lille script i matlab som plotter 161*161 punkter i
forskellige
farver afhængig af en funktion.

Mit script ser sådan her ud:

for i=1:length(x)
for j=1:length(y)
c=color_matrix(i,j);
plot( x(i,j) ,y(i,j) ,'.','Color',[c c c])
xlim([0 3.2]);
ylim([0 3.2]);
drawnow;
end
end


Det tager en evighed at plotte ...i starten går det rimelig hurtigt men
efterhånden
som 'i' vokser så går det langsommere og langsommere...

Hvordan kan jeg løse det så det går hurtigere?

Tak på forhånd..




 
 
Michael Zedeler (16-12-2005)
Kommentar
Fra : Michael Zedeler


Dato : 16-12-05 13:43

John wrote:
> Mit script ser sådan her ud:
>
> for i=1:length(x)
> for j=1:length(y)
> c=color_matrix(i,j);
> plot( x(i,j) ,y(i,j) ,'.','Color',[c c c])
> xlim([0 3.2]);
> ylim([0 3.2]);
> drawnow;
> end
> end
>
> Hvordan kan jeg løse det så det går hurtigere?

Jeg kender ikke meget til matlab, men kan man flytte drawnow udenfor
løkken? Hvis det kan lade sig gøre, burde det gå en kende hurtigere.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

sbjepsen@hotmail.com (16-12-2005)
Kommentar
Fra : sbjepsen@hotmail.com


Dato : 16-12-05 13:45

John skrev:

> Hejsa
>
> Jeg har lavet et lille script i matlab som plotter 161*161 punkter i
> forskellige
> farver afhængig af en funktion.
>
> Mit script ser sådan her ud:
>
> for i=1:length(x)
> for j=1:length(y)
> c=color_matrix(i,j);
> plot( x(i,j) ,y(i,j) ,'.','Color',[c c c])
> xlim([0 3.2]);
> ylim([0 3.2]);
> drawnow;
> end
> end
>
>
> Det tager en evighed at plotte ...i starten går det rimelig hurtigt men
> efterhånden
> som 'i' vokser så går det langsommere og langsommere...
>
> Hvordan kan jeg løse det så det går hurtigere?
>
> Tak på forhånd..

Det eneste bud jeg har, er at du vektoriserer dine x og y, dvs. x=
[1,length(x)]

Som du har lavet det nu, er det to loekker, hvor du for hver koersel af
den indre loekke, skal bruge din plot funktion.
Med vektoriserede x og y slipper du for de to (meget tidskraevende)
FOR-loekker.

I tilfaelde af lav koerselshastighed kan man med fordel bruge REPORT
funktionen, her faar du en oversigt over alle funktionskald, og deres
relative tidsforbrug.

mvh,
Sune


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste