Matrix creation which identify link of vehicles

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

repeated question
Fayyaz
Fayyaz 2014년 7월 4일
Hello Andrei.
This is not the repeated question, both questions were different.

댓글을 달려면 로그인하십시오.

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2014년 7월 4일
편집: Andrei Bobrov 2014년 7월 4일

1 개 추천

[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

Fayyaz
Fayyaz 2014년 7월 4일
@Andrei Bobrov
Can you check the brackets in the last line? I don't get out at the end.
Sorry! My typo. Corrected.
Fayyaz
Fayyaz 2014년 7월 4일
편집: Fayyaz 2014년 7월 4일
OK. thanks for this. What is the order of the matrix at the end i.e out?
Some cells shows 19*double etc. I don't get this point.
Fayyaz
Fayyaz 2014년 7월 4일
@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 2014년 7월 4일
편집: Fayyaz 2014년 7월 4일
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]];

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jos (10584)
Jos (10584) 2014년 7월 11일

1 개 추천

M = accumarray(A(:,[2 3]), A(:,1), [81 81], @(x) {x})

카테고리

도움말 센터File Exchange에서 Licensing on Cloud Platforms에 대해 자세히 알아보기

질문:

2014년 7월 4일

답변:

2014년 7월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by