菜鸟一枚,刚学,编写一个小程序不会,希望高手帮忙,[FileName,PathName] = uigetfile('*.mca', 'Select all the dat-files ', 'MultiSelect', 'on'); %%选择所有mca文档,,怎么读入多个文档mac中的数据?
情况如此,希望高手帮忙
希望程序能够有一些说明,本人刚学MATLAB,一些程序可能看不懂,十分抱歉,麻烦各位高手了!万分感激
你能把编程的思想解释一下么?有点看不懂,太麻烦您了!
追答其实 读取的方法还是比较多 可以 importdata textread 等 文件操作的话 也可以指针操作 但考虑到你的数据类型是未知的 ,有可能会数据丢失 所以选择 按行读取 这样可以保证完整性。
思路的话 就是 先找到当前文件夹下的所有mca文件 。两个for循环 读出所有数据 。 外层for循环是为了依次读取每个文件 内存for是为了读文件内的每一行(截止数214748.。。 没有实际意义 只是刻意设的足够大 因为我不知道每个文件是多少行 , 但是因为我循环内部有判断终止循环的部分 所以不会影响到效率) fgetl是读行 如果读空的话 返回会是-1 所以我以此为跳出循环的标志
能不能优化一下这个程序,我们自己来选择文件!而且直接读取M文件下面的MCA文件?十分麻烦您了!
追答di = dir('*.mca');
for i=1:length(di)
b=fopen(di(i).name);
这部分改掉;
name={‘1.mca’,'7.mca'};需要操作的文件名 写这里面
for i=1:length(name)
b=fopen(name{i});