Vinnaren i pepparkakshustävlingen!
2015-02-05, 21:50
  #373
Medlem
Citat:
Ursprungligen postat av tourniquet
Tja, använder Matlab och har skrivit en del funktioner nu som jag vill köra. Problemet är bara att de kräver än jävla massa beräkningar och tar därmed en hel del tid att räkna klart. Jag misstänker att min dator kanske är lite för seg än vad den egentlig ska vara så jag vill veta hur man kan kontrollera så att den inte är för seg. Så jag vet om jag ska försöka göra min dator snabbare.

Har en bärbar Lenovo med Windows 8. Köpte den år 2013.
Har en intel core i7 processor, så den borde vara ganska snabb.

i7-3632QM Processor
CPU 2.2 GHz
8 GB RAM
64-bitars operativsystem

Hur ser dina funktioner ut? Vad gör de? Hur många element handlar det om?
Citera
2015-02-05, 22:46
  #374
Medlem
tourniquets avatar
Citat:
Ursprungligen postat av Rasnafd
Hur ser dina funktioner ut? Vad gör de? Hur många element handlar det om?

Gör bildbehandling

Man ska processera 10 versioner av samma bild med storleken 240x320.

Varje bild ska filtreras och sedan ska man söka maxpunkter bland dom och lagra dem i en vektor.

Kort sagt.

Så man gör en for-loop i två dimensioner på 10 bilder och kollar grannar tillvarje pixel (8st).
Citera
2015-02-06, 07:18
  #375
Medlem
t0xx0ms avatar
Citat:
Ursprungligen postat av tourniquet
Gör bildbehandling

Man ska processera 10 versioner av samma bild med storleken 240x320.

Varje bild ska filtreras och sedan ska man söka maxpunkter bland dom och lagra dem i en vektor.

Kort sagt.

Så man gör en for-loop i två dimensioner på 10 bilder och kollar grannar tillvarje pixel (8st).

Det kan mycket väl vara så att funktionerna är skrivna på ett sätt som inte passar MATLAB. En enkel tumregel är att man ska undvika loopar i MATLAB om man kan dra nytta av matris/vektor-operationer istället.

Mer kan vi såklart inte säga om vi inte får se kodsnuttar.
Citera
2015-02-06, 09:10
  #376
Medlem
Du skulle kunna titta lite på matlabs gpu-support http://se.mathworks.com/help/distcomp/gpuarray.html
Citera
2015-02-06, 14:14
  #377
Medlem
Kioskars avatar
Citat:
Ursprungligen postat av Knutbollen
A = [1 2 3 4 2 1 1 1];

Finns det möjligtvis något sätt att ta reda på maximala antalet repetitioner av 1 (i följd) samt index där denna följd börjar. I A repeteras siffran 1 tre gånger i följd och denna repetition startar på index 6.

Pröva denna:
A = [1 2 3 4 2 1 1 1];
x = [0 cumsum(diff(A) ~= 0)];

onesinA=length(A(x == mode(x)))

index=find(x == mode(x));
indexstart=index(1)
indexend=indexstart+onesinA-1

Vet inte hur du vill ha det om max repetitioner förekommer på flera olika ställen. Tror den väljer ut den första förekomsten i det fallet.
Citera
2015-02-07, 14:39
  #378
Medlem
Herzs avatar
felpost
Citera
2015-02-07, 14:40
  #379
Medlem
tourniquets avatar


Koden ovan anropar ytterligare 3 funktioner men de är inte så stora. Tar 15 minuter för mig att köra findDogMaximas. Notera att maxima är en vektor som ändrar storlek för varje loop-iteration.
Citera
2015-02-09, 10:15
  #380
Medlem
Vet någon om det är möjligt att plotta

f(x, y) = 2 - √(4 - x² - y²), x² + y² ≤ 4

i MATLAB?
Citera
2015-02-09, 10:55
  #381
Medlem
Citat:
Ursprungligen postat av GHz
Vet någon om det är möjligt att plotta

f(x, y) = 2 - √(4 - x² - y²), x² + y² ≤ 4

i MATLAB?

Här är ett sätt att göra det på. Finns säkert bättre då du får med området utanför din domän, därför behöver man abs(f(X,Y)) i mitt exempel.

Citera
2015-02-09, 11:57
  #382
Medlem
t0xx0ms avatar
Citat:
Ursprungligen postat av GHz
Vet någon om det är möjligt att plotta

f(x, y) = 2 - √(4 - x² - y²), x² + y² ≤ 4

i MATLAB?

Ett annat sätt är

Kod:
f = @(x,y) 2 - sqrt(4-x.^2-y.^2);

r = linspace(0,1.999,50);
th = linspace(0,2*pi,50);
[R TH] = meshgrid(r,th);

X = R.*cos(TH);
Y = R.*sin(TH);

surf(X,Y,f(X,Y))
Citera
2015-02-10, 21:35
  #383
Medlem
Trevligt att det funkar. Tackar för hjälpen!
Citera
2015-02-19, 16:15
  #384
Medlem
Hallå! Känner att jag behöver er hjälp då matlab är helt nytt för mig. Jag tror att den är väldigt enkel, men jag vet bara inte vilka uppenbara fel jag gör.

Uppgiften ser ut så här:

Jag har skrivit följande:

Måste jag någonstans deklarera att flagga har värdet falskt, och hur i så fall?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback