Matrix creation which identify link of vehicles

1 visualización (últimos 30 días)
Fayyaz
Fayyaz el 4 de Jul. de 2014
Respondida: Jos (10584) el 11 de Jul. de 2014
Hello.
I've a matrix 61312*3.
1st column: from 1 to 81 (Origin place of a vehicle) 2nd column: from 1 to 81 (Destination place of a vehicle) 3rd column: from 1 to 246 (where the vehicle has surveyed)
There are 61312 observation (no. of rows) at 246 locations.
I need to create a matrix which shows that from origin (1 to 81) to Destination (1 to 81) which location (1 to 246) these vehicle follow. I think the order of the matrix will be 81*81.
Kindly let me know how should I proceed. thanks in advance.
  2 comentarios
Fayyaz
Fayyaz el 4 de Jul. de 2014
Hello Andrei.
This is not the repeated question, both questions were different.

Iniciar sesión para comentar.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 4 de Jul. de 2014
Editada: Andrei Bobrov el 4 de Jul. de 2014
[a,~,ii] = unique(A(:,2));
[b,~,jj] = unique(A(:,3));
out1 = accumarray([ii,jj],A(:,1),[max(ii), max(jj)],@(x){x});
out = [[{nan};num2cell(a(:))],[num2cell(b(:)');out1]];
  5 comentarios
Fayyaz
Fayyaz el 4 de Jul. de 2014
@Andrei Bobrov: The order of matrix is 81*246 which is fine, but the problem is in one cell there is a lot of information like brackets, value*double etc.
Fayyaz
Fayyaz el 4 de Jul. de 2014
Editada: Fayyaz el 4 de Jul. de 2014
I've modified the code, as I need a matrix 81*81, but still I don't know how to get rid of such kind of values like 440x1 double
A=combinedfile;
[a,~,ii] = unique(A(:,1));
[b,~,jj] = unique(A(:,2));
out1 = accumarray([ii,jj],A(:,3),[max(ii), max(jj)],@(x){x});
out = [[{nan};num2cell(a(:))],[num2cell(b(:)');out1]];

Iniciar sesión para comentar.

Más respuestas (1)

Jos (10584)
Jos (10584) el 11 de Jul. de 2014
M = accumarray(A(:,[2 3]), A(:,1), [81 81], @(x) {x})

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by