Hi, I have imported some data from an excel spreadsheet as a numerical matrix 145x3 as shown below
I now want to transform these data into a much larger matrix of 145x522. Reading the table above, row 1 in this new matrix will have the value shown in cell 1:3 (0.2203) but only between the positions shown in cells 1:1 (start point) and 1:2 (end point) i.e. cells 1:1 to 1:12. Row 2 in the new matrix will have the value 0.1597 (all of the values are defined in the 3rd column) but only between the positions shown in cells 2:1 (start point) and 2:2 (end point) i.e. cells 2:2 to 2:12, and so on. Matrix positions that are undefined will be set to a value of zero.
Does anyone know how to do this?

 채택된 답변

dpb
dpb 2016년 4월 9일
편집: dpb 2016년 4월 10일

0 개 추천

Just expand the output by rows is the "braindead" solution...assume the given array is dat
Nrow=size(dat,1); % the number of rows
Ncol=522; % whatever defines the column size
x=zeros(Nrow,Ncol);
for i=1:Nrow
x(i,dat(i,1):dat(i,2))=dat(i,3);
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기

질문:

KA
2016년 4월 9일

댓글:

KA
2016년 4월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by