Matrix which cells have multiple values

(This question was asked previously, but I didn't explain very well, and this time I attached the data file too for more explanation)
Hello
A=Survey.txt;
I've a matrix 61312*3.
1st column: values from 1 to 246 (location, where the vehicle has surveyed)
2nd column: values from 1 to 81 (Originating Place)
3rd column: values from 1 to 81 (Destination place of a vehicle)
I need to have a matrix 81*81 (origin(2nd col)*destination(3rd col)), which every cell may contain multiple values (i.e. the location of the survey(values from 1st col)) because this survey has done in 5 years, so there can be 5 different values(or less or zero) in each cell.
Andrei Bobrov had done the below coding, as a result I get multiple values for most of the cells of matrix, but the problem is some cells contains brackets, while some shows number*1 double etc.
[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]];

댓글 수: 1

Jan
Jan 2014년 7월 10일
Please use the "{} Code" button to format your code.

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

 채택된 답변

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

1 개 추천

This can be done with a simple one-liner:
M = accumarray(A(:,[2 3]), A(:,1), [81 81], @(x) {x})
M will be a 81-by-81 cell array where M(I,J) contains the survey locations of vehicles going from I to J
Read the help of accumarray, and note the example of "Group values in a cell array".

댓글 수: 2

Fayyaz
Fayyaz 2014년 7월 11일
@Jos
Can you tell me how I can export this matrix to Excel?
I was trying but couldn't.
Jos (10584)
Jos (10584) 2014년 7월 11일
Sorry, I have never used excel ;-)

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

추가 답변 (1개)

Jan
Jan 2014년 7월 10일

1 개 추천

The cell does not contain brackets. These brackets are shown only inthe command window for an empty matrix. Therefore I assume, that the posted code works well.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

질문:

2014년 7월 10일

댓글:

2014년 7월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by