Arrays 将matlab列拆分为几列?
我有一个.txt文件,加载时会将数据放入:Arrays 将matlab列拆分为几列?,arrays,matlab,split,cell,Arrays,Matlab,Split,Cell,我有一个.txt文件,加载时会将数据放入: 'A: -379 G: 277 ' 'A: -422 G: 291 ' 'A: -361 G: 217 ' 作为一个单元格,我试着让它与importdata('.txt'')等一起工作,也试过其他人的想法,但到目前为止都是空手而归。很可能是因为不了解某些函数如何工作得足够好 可以猜测,我需要将数据排序为4列,以便访问2组值,例如: 1 2
'A: -379 G: 277 '
'A: -422 G: 291 '
'A: -361 G: 217 '
作为一个单元格,我试着让它与importdata('.txt'')等一起工作,也试过其他人的想法,但到目前为止都是空手而归。很可能是因为不了解某些函数如何工作得足够好
可以猜测,我需要将数据排序为4列,以便访问2组值,例如:
1 2 3 4 <- Column
A: -379 G: 277
A: -422 G: 291
A: -361 G: 217
1234您可以使用textscan
:
s = fopen('MPU2.txt', 'r');
data=textscan(s,'%s%d%s%d%*s');
fclose(s);
您可以使用来解决解析问题
fid = fopen('text_43254785.txt');
data = textscan(fid, '%s%f%s%f', 'Delimiter',' ', 'MultipleDelimsAsOne',1);
fclose(fid);
格式说明符是“%s%f%s%f”
,表示一行[字符串、数字、字符串、数字]。我使用了'Delimiter'、''MultipleDelimsAsOne',1
将多个空格视为单个分隔符。结果是
>> data{1}
ans =
'A:'
'A:'
'A:'
>> data{2}
ans =
-379
-422
-361
从这一点上,你可能可以继续你的项目
编辑:
更新为使用pastebin示例。请提供一个您希望如何解析字符串的示例。A
A:
或A
。或者您想要一个struct
:data.a=[-379-422-361]
试图在编辑中这样做,实际上是将a的结构变成一个包含4列的数组,其中第2列和第4列包含数据。这似乎无法实现。。它返回一个1x4矩阵,似乎没有实际保存任何数据。不确定我是否使用了错误的函数,B=textscan('MPU2.txt','%2s%d%2s%d')假设数据没有被“这是我遇到的问题之一,对不起,应该更清楚地说明这一点。”。您展示的新代码创建了一个“数组”,其中包含一个值3,以及一个1x4数组。我试图让它工作,但似乎没有工作,编辑了我以前的注释以匹配它。我也尝试过Jørgens的尝试,并上传了一个txt的粘贴箱(警告它太大),然后我再次将其下载为.txt文件并加载,这似乎删除了“”标记。但是,我仍然无法使任何代码正常工作。使用该方法,数据{1}似乎返回:ans=0×1空单元格数组我将尝试上载文本文件,可能存在一些看不见的问题。这是指向pastebin的链接,它向我显示了.txt文件没有显示的内容,每组数据之间有一个间距。当我把它加载到一个新的.txt文件中时,matlab像以前一样加载了它。但现在“”似乎不见了。所以“
应该在那里吗?当前答案适用于pastebin示例。啊!现在似乎可以工作了,只是数据给了我一个4x1。。。每个电池都是2531x1的双电池,我想这就是我需要的。我得试一下,但我认为它行得通:)但是你知道怎么。。现在将数据“解包”到阵列中吗?我有一些问题。还是非常感谢你的帮助!