reading a matrix in matlab
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Star Strider
am 12 Jan. 2016
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?
Antworten (1)
Star Strider
am 11 Jan. 2016
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 Kommentare
Star Strider
am 12 Jan. 2016
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.
Siehe auch
Kategorien
Mehr zu Data Import and Export finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!