I need to pass from a text file to a matrix in Matlab
1 回表示 (過去 30 日間)
古いコメントを表示
I have the next .txt file.
Name-Goals-Assists-Red cards
Frank-6-2-0
Mike-0-5-4
Ben-23-11-2
I want to transform that into a matrix, for example named P. So that when I put P(1,2) I get 6 or P(3,1) I get Ben. First I use fopen to get the id but then I do not know how to do to have the matrix and not an array of cells.
1 件のコメント
Stephen23
2022 年 5 月 26 日
"I do not know how to do to have the matrix and not an array of cells."
A mix of text and numeric cannot be stored in a numeric matrix.
Do not use a cell array, it just makes working with numeric data inefficient.
You should use a table, probably by using READTABLE when you import the data.
採用された回答
Voss
2022 年 5 月 25 日
You say you want a matrix that contains stuff like the number 6 as well as the string "Ben" (or the character array 'Ben'). That's not possible to do with a matrix because each element of a matrix must be of the same class.
The closest you can get is to use a cell array, because the nice thing about cell arrays is that any element can be of any class.
P = {'Frank' 6 2 0; 'Mike' 0 5 4; 'Ben' 23 11 2} % cell array
P{1,2}
P{3,1}
P = ['Frank' 6 2 0; 'Mike' 0 5 4; 'Ben' 23 11 2] % trying to make a matrix doesn't work
0 件のコメント
その他の回答 (2 件)
Image Analyst
2022 年 5 月 25 日
After you read this:
attach the actual text file, or at least a part of it if it's too big.
In the meantime did you try
t = readtable(fileName); % Load into table.
P = table2array(t(:, 2:end)) % Convert columns 2 onwards into a matrix called P
0 件のコメント
Image Analyst
2022 年 5 月 26 日
Or you could do this:
ca = {'Frank' 6 2 0; 'Mike' 0 5 4; 'Ben' 23 11 2} % Define a cell array
%ca = readcell(fileName); % Read in data from file into a cell array.
t = cell2table(ca) % Convert to a table.
P = table2array(t(:, 2:end)) % Convert columns 2 onwards into a matrix called P
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!