楼主: zjy5010938
1318 2

[其他] matlab高手请进! [推广有奖]

  • 0关注
  • 3粉丝

讲师

58%

还不是VIP/贵宾

-

威望
0
论坛币
343 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
14226 点
帖子
264
精华
0
在线时间
522 小时
注册时间
2010-6-12
最后登录
2021-12-26

楼主
zjy5010938 发表于 2014-4-11 14:12:29 |AI写论文
100论坛币
问题:在C盘film文件夹下有200个文件夹。每个文件夹的名字都是中文。每个文件夹下都有n个视屏文件。要输出excel,其中是每个文件夹的名字和其对应的视屏数。

我是这样写的:
a=0;
b=cell(1,200);
A=dir('C:\film\');
for i=1:200;
b{1,i}=A(i).name;
a(i)=length(dir('C:\film\A(i).name\*.flv));
end

xlswrite('name.xls',b)
xlswrite('number.xls',a)


求高手指导!!


最佳答案

flish_wang 查看完整内容

a=0; % 如果是为了考虑内存优化,用a=zeros(200,1); b=cell(1,200); %是否应该cell(200,1)好点?excel没记错的话按列排列的多点。 A=dir('C:\film\'); for i=1:200; %dir得到的目录中顺序为1的是本目录,2是上级目录,所以循环应从3到202. b{1,i}=A(i).name; % b{i}=A(i).name 即可。 a(i)=length(dir('C:\film\A(i).name\*.flv)); 合并两个字符串可用[str1 str2 ]这种形式。 end xlswrite('name.xls',b) % ...
关键词:MATLAB matla atlab Atl Lab matlab

回帖推荐

flish_wang 发表于2楼  查看完整内容

a=0; % 如果是为了考虑内存优化,用a=zeros(200,1); b=cell(1,200); %是否应该cell(200,1)好点?excel没记错的话按列排列的多点。 A=dir('C:\film\'); for i=1:200; %dir得到的目录中顺序为1的是本目录,2是上级目录,所以循环应从3到202. b{1,i}=A(i).name; % b{i}=A(i).name 即可。 a(i)=length(dir('C:\film\A(i).name\*.flv)); 合并两个字符串可用[str1 str2 ]这种形式。 end xlswrite('name.xls',b) % ...

沙发
flish_wang 发表于 2014-4-11 14:12:30
a=0;  % 如果是为了考虑内存优化,用a=zeros(200,1);
b=cell(1,200);    %是否应该cell(200,1)好点?excel没记错的话按列排列的多点。
A=dir('C:\film\');
for i=1:200;         %dir得到的目录中顺序为1的是本目录,2是上级目录,所以循环应从3到202.
b{1,i}=A(i).name; % b{i}=A(i).name 即可。
a(i)=length(dir('C:\film\A(i).name\*.flv)); 合并两个字符串可用[str1 str2 ]这种形式。
end

xlswrite('name.xls',b)   %matlab提供的xlswrite真的很简略啊。。后续把两个excel变成一个就只能用手了
xlswrite('number.xls',a)

%%%%%%%%%%%%%%%%%%%改正后的程序,抛砖引玉,请高手指点。

a=zeros(200,1);
b=cell(200,1);
A=dir('C:\film\');
for i=3:length(A);
b{i}=A(i).name;
a(i)=length(dir(['c:\film\' b{i} '\*.flv']));
end

xlswrite('name.xls',b)
xlswrite('number.xls',a)
已有 1 人评分论坛币 收起 理由
admin_kefu + 100 热心帮助其他会员

总评分: 论坛币 + 100   查看全部评分

藤椅
zjy5010938 发表于 2014-4-12 12:22:06
flish_wang 发表于 2014-4-12 09:40
a=0;  % 如果是为了考虑内存优化,用a=zeros(200,1);
b=cell(1,200);    %是否应该cell(200,1)好点?excel ...
感谢!!!!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-9 03:39