24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1683  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xiaoguai2012

木虫 (正式写手)

[求助] 求助Matlab批处理for语句循环

cd('C:\0.6');%
Allname=struct2cell(dir);
[m,n]=size(Allname);
num1z=zeros(n-2,1);
for j=3:n
    name=Allname{1,j}; %
    [e1,e2,e3] = fileparts(name);
    e4='.txt';
    q=strcmp(e3, e4);
    if 1==q;
        break;
    end
    M=importdata(name,',',6);
    num1=0;CC=1;%变化cc值从0到10,间隔0.1
    for i=1:length(AA)-1;
       if AA(i)<CC&& AA(i+1)>CC ;
         num1=num1+1;
       end
    end
    end
   num1z(j-2,1)=num1;
end
   sum1=sum(num1z);
xlswrite('结果1.xlsx',[sum1],'Sheet1','A2');

----------------------------------------------------------------
我想用上述程序,对文件夹《0.6》内的文件进行批处理,在上述程序的基础上,我想变换CC值,从0到10,间隔0.1,然后输出不同CC值对应的sum1值,并将CC和sum1l列在excel表格中输出,请问各位大侠,怎样才能实现?我已经用for语句试了很多次,可是不行,请求各位大侠帮帮忙!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoguai2012

木虫 (正式写手)

引用回帖:
4楼: Originally posted by wang870803 at 2013-08-09 00:26:42
cd('C:\0.6');
Allname=struct2cell(dir);
=size(Allname);
num1z=zeros(n-2,1);
CC=0:0.1:5;  %变化cc值从0到10,间隔0.1
sum1=zeros(1,length(CC));
for ii=1:length(CC)
    for j=3:n
        name=Al ...

不好意思,是我错了,应该是下面这样,现在主要是excel输出的问题,能输出,就是前一个输出的内容会被后一个输出的所代替。或者是因为程序中的错误,导致输出有问题。
cd('C:\0.65');%
Allname=struct2cell(dir);
[m,n]=size(Allname);
num1z=zeros(n-2,1);
for ii=0:0.1:5
    CC=ii;%变化cc值从0到10,间隔0.1
  for j=3:n
    name=Allname{1,j}; %
    [e1,e2,e3] = fileparts(name);
    e4='.txt';
    q=strcmp(e3, e4);
    if 1==q;
        break;
    end
    M=importdata(name,',',6);
    num1=0;
    for i=1:length(AA)-1;
       if AA(i)<CC&& AA(i+1)>CC ;
         num1=num1+1;
       end
    end
  
   num1z(j-2,1)=num1;
end
   sum1=sum(num1z);
xlswrite('结果1.xlsx',[sum1],'Sheet1','A2');
end
vol(ii,1)=iii;
sum1z(ii,1)=sum1;
xlswrite('结果2.xlsx',[vol,sum1z],'Sheet1','A2');
5楼2013-08-09 10:45:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

wang870803

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-08-05 22:48:34
xiaoguai2012: 金币+5, 有帮助 2013-08-07 10:36:29
这个因为你输出语句:xlswrite('结果1.xlsx',[sum1],'Sheet1','A2');
是在循环以后,所以如果CC是一个数的话,只能输出最后一个。最简单的方法就是把CC改成一个向量。在前面先开辟一个CC=0:0.1:10;
2楼2013-08-04 23:46:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoguai2012

木虫 (正式写手)

引用回帖:
2楼: Originally posted by wang870803 at 2013-08-04 23:46:23
这个因为你输出语句:xlswrite('结果1.xlsx',,'Sheet1','A2');
是在循环以后,所以如果CC是一个数的话,只能输出最后一个。最简单的方法就是把CC改成一个向量。在前面先开辟一个CC=0:0.1:10;

cd('C:\0.6');%
Allname=struct2cell(dir);
[m,n]=size(Allname);
num1z=zeros(n-2,1);
for ii=0:0.1:5
    CC=ii;%变化cc值从0到10,间隔0.1
for j=3:n
    name=Allname{1,j}; %
    [e1,e2,e3] = fileparts(name);
    e4='.txt';
    q=strcmp(e3, e4);
    if 1==q;
        break;
    end
    M=importdata(name,',',6);
    num1=0;
    for i=1:length(AA)-1;
       if AA(i)<CC&& AA(i+1)>CC ;
         num1=num1+1;
       end
    end
    end
   num1z(j-2,1)=num1;
end
   sum1=sum(num1z);
xlswrite('结果1.xlsx',[sum1],'Sheet1','A2');
end
vol(ii,1)=iii;
sum1z(ii,1)=sum1;
xlswrite('结果2.xlsx',[vol,sum1z],'Sheet1','A2');
---------------------------------------------------------------------------------
我的程序改成了这样,可是还是不成。程序在运行的时候会逐个输出不同的CC值和其对应的sum1值,但是前一个会被后一个替代,请问我怎样改才能把所有cc值和其对应的sum1值都输出在同一个excel中?
3楼2013-08-05 19:41:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wang870803

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★
xiaoguai2012: 金币+5, 有帮助 2013-08-09 10:42:22
引用回帖:
3楼: Originally posted by xiaoguai2012 at 2013-08-05 19:41:03
cd('C:\0.6');%
Allname=struct2cell(dir);
=size(Allname);
num1z=zeros(n-2,1);
for ii=0:0.1:5
    CC=ii;%变化cc值从0到10,间隔0.1
for j=3:n
    name=Allname{1,j}; %
     = fileparts(name);
   ...

cd('C:\0.6');
Allname=struct2cell(dir);
[m,n]=size(Allname);
num1z=zeros(n-2,1);
CC=0:0.1:5;  %变化cc值从0到10,间隔0.1
sum1=zeros(1,length(CC));
for ii=1:length(CC)
    for j=3:n
        name=Allname{1,j};
        [e1,e2,e3] = fileparts(name);
        e4='.txt';
        q=strcmp(e3, e4);
        if 1==q
           break;
        end
        M=importdata(name,',',6);
        num1=0;
        for i=1:length(AA)-1
           if AA(i)<CC(ii)&& AA(i+1)>CC(ii)
              num1=num1+1;
           end
        end
    end
........

你的程序要么是你复制不完整,要么就是错了。至少多了一个end。我不知道你是如何把它运行起来的。
4楼2013-08-09 00:26:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 295分求调剂 +6 ?要上岸? 2026-04-17 6/300 2026-04-21 08:18 by Equinoxhua
[考研] 一志愿中科大材料与化工,353分还有调剂学校吗 +11 否极泰来2026 2026-04-15 13/650 2026-04-20 22:31 by Equinoxhua
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[考研] 337求调剂 +3 jyz04 2026-04-18 3/150 2026-04-20 12:24 by 研可安
[考博] 申博/考博 +4 啃面包的小书虫 2026-04-17 5/250 2026-04-20 10:47 by YuY66
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考研] 求计算机方向调剂 +3 Toffee2 2026-04-16 6/300 2026-04-19 22:37 by ll叶
[考研] 通信工程求调剂!!! +7 zlb770521 2026-04-14 7/350 2026-04-19 20:56 by Equinoxhua
[考研] 求调剂推荐 +9 小聂爱学习 2026-04-14 9/450 2026-04-19 17:03 by 中豫男
[考研] 307中医考研调剂 +9 于以采蘩 2026-04-14 9/450 2026-04-19 08:41 by 烟雨流涯
[考研] 294求调剂 +15 淡然654321 2026-04-15 15/750 2026-04-19 08:20 by cuisz
[考研] 0854求调剂 +23 门路摸摸 2026-04-15 27/1350 2026-04-19 01:59 by 烟雨流涯
[考研] 300求调剂 +12 橙a777 2026-04-15 12/600 2026-04-18 23:51 by 路病情
[考研] 接受任何调剂 +6 也就是栗子 2026-04-17 7/350 2026-04-18 17:20 by 涵竹刘
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 260求调剂 +4 Zyt1314520.. 2026-04-17 5/250 2026-04-18 08:28 by babysonlkd
[考研] 急需调剂 +9 绝不放弃22 2026-04-15 10/500 2026-04-18 08:09 by chixmc
[考研] 一志愿华中农业071010,320求调剂 +17 困困困困坤坤 2026-04-14 19/950 2026-04-17 20:08 by 关一盏灯cd
[有机交流] 二苯甲酮酸类衍生物 50+3 小白爱主人 2026-04-17 6/300 2026-04-17 18:47 by kf2781974
[考研] 322求调剂 +6 tekuzu 2026-04-17 6/300 2026-04-17 13:48 by Espannnnnol
信息提示
请填处理意见