MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 148|回复: 4|关注: 0

[已解决] 如何读取多个txt文件作为main.m的输入文件,并依次执行脚...

[复制链接]

新手

9 麦片

财富积分


050


2

主题

7

帖子

0

最佳答案
本帖最后由 咖喱17 于 2018-1-12 11:29 编辑

一个main.m文件,其输入数据为in0001.txt这样的文件,in0001.txt~in0020.txt。现在每次都是执行一次程序得到一个结果,再手动更改注入文件名,再执行程序得到结果。手动操作比较麻烦,请问如何让它能够依次进行,不需要一次次手动更改文件名来执行?读入数据代码如下,谢谢Thanks♪(・ω・)ノ
  1. clear all
  2. close all
  3. clc
  4. tic%统计运行时间
  5. %--------------------------------开始注入初始数据---------------------------------------
  6. input_data = importdata('in0001.txt');%注入的测试数据
  7. input_data_shift = input_data';

复制代码




好像可以使用execl存文件名来解决的,但是我没有尝试成功。
for k = 1:20
    input_data{k} = importdata(b{k});%注入的测试数据
end
input_data_shift{k} = input_data{k}';

新手一枚,请前辈帮助,Thanks♪(・ω・)ノ

MATLAB 基础讨论
版块优秀回答者

入门

69 麦片

财富积分


50500


0

主题

136

帖子

14

最佳答案
发表于 5 天前 | 显示全部楼层 |此回复为最佳答案
如果读取的文件名确定且可以通过循环实现,那可以:
for i=1:20;
if i<9
filename=strcat(['in000' num2str(i) '.txt']);
else
filename=strcat(['in00' num2str(i) '.txt']);
end
...main读取的主程序
end

2.如果文件无规律,只是后缀确定,可以用dir
a=dir('*.txt');
for i=1:length(a)
filename=a(i).name;
---
end

新手

9 麦片

财富积分


050


2

主题

7

帖子

0

最佳答案
 楼主| 发表于 5 天前 | 显示全部楼层
18833126693 发表于 2018-1-12 11:37
如果读取的文件名确定且可以通过循环实现,那可以:
for i=1:20;
if i

Thanks♪(・ω・)ノ,按照你的方法成功实现了,还想请问一下每个txt得到的结果如果想要依次存入result1.txt~result20.txt 的话,该如何写呢?谢谢

MATLAB 基础讨论
版块优秀回答者

入门

69 麦片

财富积分


50500


0

主题

136

帖子

14

最佳答案
发表于 5 天前 | 显示全部楼层
咖喱17 发表于 2018-1-12 15:08
Thanks♪(・ω・)ノ,按照你的方法成功实现了,还想请问一下每个txt得到的结果如果想要依次存入result1.t ...

也是一样的,把要保存的文件名用以上类似方法,安循环来分别写入即可

新手

9 麦片

财富积分


050


2

主题

7

帖子

0

最佳答案
 楼主| 发表于 4 天前 | 显示全部楼层
18833126693 发表于 2018-1-12 15:25
也是一样的,把要保存的文件名用以上类似方法,安循环来分别写入即可

恩恩,我找到了,Thanks♪(・ω・)ノ
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表