Importing a signed integer value with a space
3 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
I have a data file, i'm trying to import into MATLAB. Several columns are signed integers (see example below):
'+ 24.05' '+ 2.429' '+ 1.460' '+ 2.236'
'+ 24.05' '+ 2.429' '+ 1.459' '+ 2.237'
'+ 24.05' '+ 2.429' '+ 1.462' '+ 2.235'
I'm using the datastore function and then modifying the SelectedFormats setting to adjust to the format to correctly import the data.
I'm trying to use the signed integer values format ('%d') to import this data, however it does not reconize the values above as such. I believe its due the space between the sign and the integer.
Is there a Optional operator(s) that i can add to ignore the space? Or am i perhaps wrong in my assumption that the space is the issue?
0 个评论
采纳的回答
hosein Javan
2020-8-12
if your data are all positive, then you can ignore plus sign. and your data is not integer use single or double precion. here's a code that imports the data from a text file to matrix.
fileid = fopen('scan1.txt')
c = textscan(fileid,'''+ %f'' ''+ %f'' ''+ %f'' ''+ %f''')
c = cell2mat(c)
c =
24.0500 2.4290 1.4600 2.2360
24.0500 2.4290 1.4590 2.2370
24.0500 2.4290 1.4620 2.2350
4 个评论
hosein Javan
2020-8-12
don't mention it. you can even store the matrix data in a .mat file afterwards so you won't need to convert string to number every call of your script or function.
更多回答(0 个)
另请参阅
类别
在 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!