reading a matrix in matlab
조회 수: 1 (최근 30일)
이전 댓글 표시
hello, I have a matrix like below
> head(mat[,1:4])
AT1G01060 AT1G01170 AT1G01180 AT1G01260
AT1G01060 1.0000000 0.3193360 0.6272994 0.2658624
AT1G01170 0.3193360 1.0000000 0.3178880 0.3588030
AT1G01180 0.6272994 0.3178880 1.0000000 0.2542234
AT1G01260 0.2658624 0.3588030 0.2542234 1.0000000
AT1G01380 0.6178751 0.1561297 0.7052692 0.3252033
AT1G01490 0.5990499 0.6129301 0.6424225 0.5727253
>
how I can read that as a matrix to run as an input of my code. I attached my code thank you for your help
댓글 수: 1
Star Strider
2016년 1월 12일
You attached the code but not the file you are reading. Attaching ‘ND.m’ is not relevant because it apparently wants the matrix you want to read as its input argument.
I provided a textscan call to read your file (as best I could, considering I do not have your file to work with). Have you used it? Did it work?
답변 (1개)
Star Strider
2016년 1월 11일
You did not attach your code. If this is a text file, please attach the file as well.
The easiest way to import it as a text file would be to use the textscan function.
댓글 수: 6
Star Strider
2016년 1월 12일
See if this works:
Ngenes = 20; % Insert Correct Value Here
datacell = textscan(fid, ['%*s' repmat('%f',1,Ngenes)], 'HeaderLines', 1, 'CollectOutput',1);
datamatrix = cell2mat(datacell);
The '%*s' tells textscan to skip over the first (string) column. The repmat call duplicates the '%f' format descriptor for the number of genes that are in your correlation matrix. The cell2mat call should then work, since ‘datacell’ will have only numeric values.
I cannot test this without your file, but it should work.
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Import and Export에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!