Read data from file
2 次查看(过去 30 天)
显示 更早的评论
Hello!
I was not sure which title fits better in my case so I just left it to be written in the most general way. I have the file with following structure:
Step 1
0.10190103
0.10145140
0.10097524
0.10050153
0.10003042
9.95795131E-02
9.91610140E-02
Step 2
9.81189385E-02
9.75561813E-02
9.80424136E-02
0.10000000
0.10000000
9.80617628E-02
9.77829769E-02
...
Step N
0.10000000
0.10000000
9.93788019E-02
0.11977901
0.12290157
0.12588248
0.12861508
And I need to read it from N arrays, so
V1 = [0.10190103
0.10145140
0.10097524
0.10050153
0.10003042
9.95795131E-02
9.91610140E-02]
V2 = [9.81189385E-02
9.75561813E-02
9.80424136E-02
0.10000000
0.10000000
9.80617628E-02
9.77829769E-02]
VN = [0.10000000
0.10000000
9.93788019E-02
0.11977901
0.12290157
0.12588248
0.12861508]
I have read some examples to read data into arrays, but have not got something related to my case...
Can someone help me please..?
2 个评论
回答(1 个)
KL
2018-3-15
编辑:KL
2018-3-15
Something quick,
d = readtable('whole res.txt');
d = table2cell(d);
d = regexprep(d,' ','');
d = cellfun(@str2double,d,'uni',0);
d(cellfun(@isnan,d)) = [];
d = reshape(cell2mat(d),12,[]);
I reckon there should be faster ways. Even using one for loop right after readtable to combine all operations inside the for-loop step should also be more efficient than this. Nevertheless, this should work.
P.S: saving multiple variables (as you mentioned in your question) is not a good idea, use a matrix instead. If some of the columns have lesser rows, use a cell array.
2 个评论
KL
2018-3-15
Where do you get these files from? A lot can be easier if the files are exported properly (with proper delimiters and using numbers instead of strings)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!