查看: 1884  |  回复: 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

木虫 (正式写手)

引用回帖:
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的回帖
查看全部 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的回帖

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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 6/300 2026-10-12 14:55 by 简单化xn
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +4 wangyl_123 2026-10-10 7/350 2026-10-12 14:47 by chuans0923
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +5 13108017953 2026-10-08 5/250 2026-10-10 11:15 by wdwd123
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见