![]() |
vzorec - Verzia pre tlač +- Matlab fórum (http://matlab.sk) +-- Fórum: Matlab (/forumdisplay.php?fid=4) +--- Fórum: Programovanie / Programming (/forumdisplay.php?fid=5) +--- Téma: vzorec (/showthread.php?tid=32) |
vzorec - feferon - 03-11-2013 00:31 Zdravim potreboval by som pomôct ako mam napisať vzorec tak ked mam napríklad maticu X X [ 1 2 3; 4 5 6; 7 8 9) a potrebujem vypočítať euklidovskú vzdialenosť podľa vzorca d=sqrt(sum(((X(i) - X(i+1)).^2)); neviem ako to mám zaindexovať vektory v matici, tak aby mi rátalo všetky vektory medzi sebov, neviem či mám použiť nejaký cyklus alebo niečo také... Dakujem za pomoc RE: vzorec - Martin Foltin - 03-11-2013 09:22 Bolo by možno dobré ísť na http://www.mathworks.com a stiahnuť si knihu o elementárnych operáciach s maticami. Druhá možnosť je niečo si preštudovať na stránkach časopisu Posterus. http://www.posterus.sk/?cat=7&paged=6 RE: vzorec - feferon - 03-11-2013 11:18 Diky za radu, ale ja som si to pozeral už neraz ![]() RE: vzorec - Larry - 03-16-2013 15:10 tu je nejake riesenie: http://mathworks.com/matlabcentral/answers/22844-how-to-find-euclidean-distance-in-matlab , no osobne tomu nerozumiem ![]() ak si chcete spravit vlastnu funkciu pre ten vzorec tak k tomu indexovaniu: kedze ide o [2d-pole]maticu 3x3 tak by som asi skor pristupoval k jednotlivym prvkom nie X(i) ale X(riadok,stlpec) RE: vzorec - feferon - 03-16-2013 19:42 ja to som to spravil nejak takto, ale problem je v tom ked dam vypisať maticu d, zle mi vypisuje vysledok vypise mi napriklad vysledok 1 a 2 riadku, ale uz 2 a 1 riadku nie, toto praveze neviem ako mam vyriesit for i=1: pp for j=(i+1): pp d(i,j)=sqrt(sum((MO(i,: ) - MO(j,: )).^2)); end end end kde MO je nejaka matica, pp je pocet riadkov RE: vzorec - Larry - 03-18-2013 21:27 no ked to zle vypisuje vysledok tak je to pravdepodobne zle vypocitane ![]() ![]() |