[已解决] 如何将20个文本中的数据分别导入到20个矩阵中?

[复制链接]
runningG 发表于 2021-10-9 15:31:48
for i = 1:20
fileName = ['Results-ok' num2str(i) '.txt'];
delimiterIn   = ':'; % 字符分隔符
x = load(fileName, delimiterIn);
end

我之前使用上述代码,但是最后x矩阵中只有最后一个文本中的数据,请问大佬们这需要如何修改?或者还有哪些方法可以将20个文本中的数据导入到矩阵中?

最佳答案


gywxd 发表于 2021-10-9 17:15:33
本帖最后由 gywxd 于 2021-10-9 17:17 编辑
runningG 发表于 2021-10-9 16:48
感谢大佬指教,但是我还有一个问题:
现在使用你的方法可以将20个文本中的数据全部放在x里了,但是我是想 ...

那你就用 eval   把各个txt 文件 放到 各 x1  x2  。。。。。xn中
tmp = load(fileName, delimiterIn);
eval (['x',num2str(i),'=tmp'])
得到的x1  。。。。。xn  多个变量分别装载对应的txt文件数据

4 条回复


gywxd 发表于 2021-10-9 15:49:33
x 每次load 都会被重写,所以肯定只有最后一个txt文本的数据

你可以把
x = load(fileName, delimiterIn);

改为
tmp = load(fileName, delimiterIn);
if i==1
    x=tmp
else
  x=[x;tmp]
end


这样第一次导入数据直接替换为x   后面就用追加的方式添加到x中

runningG 发表于 2021-10-9 16:48:24
gywxd 发表于 2021-10-9 15:49
x 每次load 都会被重写,所以肯定只有最后一个txt文本的数据

你可以把

感谢大佬指教,但是我还有一个问题:
现在使用你的方法可以将20个文本中的数据全部放在x里了,但是我是想每一个文本的数据导入到每一个矩阵中,我之前尝试过在x前添加标签(i),想使每次循环都生成新的x,再将数据一一对应的导入,但它总是提醒我索引必须显示在索引表达式的最后,大佬有什么好的方法吗?

gywxd 发表于 2021-10-9 17:15:33
本帖最后由 gywxd 于 2021-10-9 17:17 编辑
runningG 发表于 2021-10-9 16:48
感谢大佬指教,但是我还有一个问题:
现在使用你的方法可以将20个文本中的数据全部放在x里了,但是我是想 ...

那你就用 eval   把各个txt 文件 放到 各 x1  x2  。。。。。xn中
tmp = load(fileName, delimiterIn);
eval (['x',num2str(i),'=tmp'])
得到的x1  。。。。。xn  多个变量分别装载对应的txt文件数据
回复此楼

runningG 发表于 2021-10-9 20:25:47
gywxd 发表于 2021-10-9 17:15
那你就用 eval   把各个txt 文件 放到 各 x1  x2  。。。。。xn中
tmp = load(fileName, delimiterIn);
ev ...

感谢大佬,问题解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表