CSV file imported with readmatrix is misreading the data in the CSV file

10 views (last 30 days)
I'm trying to read a roughly 400 row csvfile consisting of one column of 3 digit numbers and 35 colums of 8 digit integres. The resulting array consists of 5 digit numbers with a decimal point after the first number. This isn't too helpful. The numbers represent measured frequencies in the 15MHz range so I'm losing data when importing

Answers (4)

per isakson
per isakson on 18 Nov 2019
Edited: per isakson on 18 Nov 2019
"The resulting array consists of 5 digit numbers with a decimal point after the first number." I assume that you describe how the numbers are displayed in the Command Window.
Try
format long
Example:
>> format long
>> pi
ans =
3.141592653589793
>> format short
>> pi
ans =
3.1416
>>
"I'm losing data when importing" No, it's only a question of how the values are presented.

James Andrada
James Andrada on 18 Nov 2019
Thanks
It turned out that "longEng" displays them correctly - values were OK but displaying incorrectly.
By the way, is there any way to associate the format type with a variable, not globally for the workspace. Using "longEng" for 3 digit integres is very clumsy.

James Andrada
James Andrada on 18 Nov 2019
Thanks. That's too bad. I guess I just need to issue a format command before printing.
  1 Comment
per isakson
per isakson on 18 Nov 2019
Edited: per isakson on 18 Nov 2019
"printing" See the documentation on fprintf.
Example
>> fprintf( 1, '%.2f\n', pi )
3.14
>> fprintf( 1, '%.4f\n', pi )
3.1416

Sign in to comment.


James Andrada
James Andrada on 18 Nov 2019
Thanks much. That's very helpful. I was thinking there might be a way to do it but hadn't had time to look into it yet today.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!