The number of lines on ASCII file should be same - error
1 view (last 30 days)
Show older comments
Hi Team
I wrote this simple code to understand loading and saving
tan =randi([-1,3],2,3)
save 'testtan.dat' tan
clear
load 'testtan.dat' 'tan'
Error using load
Number of columns on line 2 of ASCII file testtan.dat must be the same as previous lines.
So. I need help understanding what it means. My matrix seems to be fair but what does it mean ' columns of ASCII file'.
Please help.
I have used importdata and other methods, they are fine but I want to understand load function in depth as i will be using it a lot.
Thank you
R
0 Comments
Accepted Answer
Cris LaPierre
on 23 Oct 2019
What are you trying to do?
If you are trying to create mat files (MATLAB's way of saving variables), try the following
tan =randi([-1,3],2,3)
save('testtan','tan')
clear
load 'testtan'
If you instead are trying to save the data to a file in ascii format, try this
tan =randi([-1,3],2,3)
writematrix(tan,'testtan.dat')
clear
tan = readmatrix('testtan.dat')
2 Comments
Cris LaPierre
on 23 Oct 2019
Edited: Cris LaPierre
on 23 Oct 2019
If you are partial to doing it the way you've shown, then you'll need to specify the format of testtan.dat. When using save, MATLAB will try to format the file contents based on the extension. Not sure what it is doing with *.dat, but forcing '-ascii' fixes the issue you are seeing.
tan =randi([-1,3],2,3)
save('testtan.dat','tan','-ascii')
clear
tan = load('testtan.dat')
The second argument in the load command (variables) is only supported for *.mat files. If you are going to use a different file extension, that argument cannot be used.
More Answers (0)
See Also
Categories
Find more on Data Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!