simonphlk 发表于 2006-5-4 19:36

新手提问,关于编程之后完全无反应

由于论文需要,这几天看了一个编程的范例,在Matlab上试验后,输入数据与程序均正常无错误,但是最后enter运行后,matlab完全没有反应了。也没有输出,请问这是为什么?是不是关键在
formats=;
fid=fopen('001.DEA.approach.txt','w');
fprintf(fid,'%s\n',s1);
fprintf(fid,'%s\n',s3);
fprintf(fid,formatr,RR');
fprintf(fid,'\n');
fprintf(fid,'%s\n',s2);
fprintq(fid,'%s\n',s4);
fprintf(fid,formati,II');
fclose(fid);
这几句上?(附上源程序)

simonphlk 发表于 2006-5-4 19:36

回复:(simonphlk)新手提问,关于编程之后完全无反应...

=size(BBI);
=size(BBO);
for i=1:Ninput
    switch BBI(1,i)
    case 1
          str1(i,:)='人数         ';
    case 2
          str1(i,:)='机构数      ';
    case 3
          str1(i,:)='固定资产净值';
    case 4
          str1(i,:)='营业支出       ';
    case 5
          str1(i,:)='ATM&POS      ';
    case 6
          str1(i,:)=='所有者权益   ';
                              end
                        end
for i=1:Noutput
switch BBO(1,i)
case 7
      str2(i,:)='净利息   ';
case 8
      str2(i,:)='非利息   ';
case 9
      str2(i,:)='营业收入   ';
case 10
      str2(i,:)='存款       ';
case 11
      str2(i,:)='贷款       ';
case 12
      str2(i,:)='资本收益   ';
case 13
      str2(i,:)='资产增加   ';
case 14
      str2(i,:)='资产收益   ';
case 15
      str2(i,:)='卡         ';
case 16
      str2(i,:)='卡交易额   ';
case 17
      str2(i,:)='不良下降率   ';
case 21
      str2(i,:)='新增存贷款总额';
                        end
                        end
sstrl=cellstr(str1)';
sstr2=cellstr(str2)';
sstrl=;
sstr2=;
sstr=;
stl=char(sstrl);
st2=char(sstr2);
st=char(sstr);
=size(st1);
=size(st2);
=size(st);
    s1=deblank(stl(1,:));
    s2=deblank(st2(1,:));
for i=2:m1
      len=30-2*length(deblank(st1(i,:)));
      front=round(len/2);
      back=30-front-2*length(deblank(stl(i,:)));
    s1=;
end
for i=2:m2
       len=30-2*length(deblank(st2(i,:)));
      front=round(len/2);
      back=30-front-2*length(deblank(st2(i,:)));
    s2=;
end
for i=1:m
s(i,:)=;
end
%B=BB
BB=;
%B=BB
B=;
%Ninput 投入数
%Noutput 产出数
%N 银行个数
N=t1-1
X=B(1:N,1:Ninput);
Y=B(1:N,(Ninput+1):(Ninput+Noutput));
e=0.00000001;
ee=ones(1,(Ninput+Noutput));
f=;
XX=X';
YY=Y';
lbound=zeros((N+Ninput+Noutput),1);
for i=1:N
AA(:,:,i)=[XX,eye(Ninput),zeros(Ninput,Noutput),-XX(:,i);
YY,zeros(Noutput,Ninput),-eye(Noutput),zeros(Noutput,1)];
%ones(1,N),zeros(1,(Ninput+Noutput+1))]
bb(:,i)=';
% bb(:,i)='
options=optimset('largeScale','on','MaxIter',10^30,'TolFun',10^(-30));
%=linprog(f,[],[],AA(:,:,i),bb(:,i),lbound,ub(:,i));
=Iinprog(f,[],[],AA(:,:,i),bb(:,i),lbound);
end
Xopt;
Thita=Xopt((N+1+Ninput+Noutput),:)';
XXopt=[Xopt((N+1):(N+Ninput+Noutput),1)'*40;
    Xopt((N+1):(N+Ninput+Noutput),2)'*30;
    Xopt((N+1):(N+Ninput+Noutput),3)'*15;
    Xopt((N+1):(N+Ninput+Noutput),4)'*40;
    Xopt((N+1):(N+Ninput+Noutput),5:N)'];
XXXopt=;
exitflag
for i=1:N
for j=1:Ninput
      R1(i,j)=((1-Xopt((I+Ninput+Noutput+N),i))*BB(i,j)+XXopt(i,j));
      R2(i,j)=((1-Xopt((1+Ninput+Noutput+N),i))*BB(i,j)+XXopt(i,j))/BB(i,j);
end
for k=1:Ninput
      R(i,2*k-1)=R1(i,k);
      R(i,k*2)=R2(i,k)* 100;
end
   for j=1:Noutput
       I1(i,j)=XXopt(i,(Ninput+j));
       I2(i,j)=XXopt(i,(Ninput+j))/BB(i,j+Ninput);
       I(i,j)=I1(i,j);
       I(i,2*j)=I2(i,j);
end
for k=1:Noutput
      I(i,2*k-1)=Il(i,k);
      I(i,k*2)=I2(i,k)*100;
end
end
RR=;
II=;
II(:,2)=round(II(:,2));
=size(II);
=size(RR);
formatr='%4.2f';
formats=;
formats='%4.2f';
s3=blanks(4);
s4=blanks(4);
for i=1:(nr-1)/2
    s3=;
end
for i=1:(ni-1)/2
    s4=;
end
for j=2:nr-1
      fomatr=;
end
formatr=;
for j=l:ni-1
    formati=;
end
formats=;
fid=fopen('001.DEA.approach.txt','w');
fprintf(fid,'%s\n',s1);
fprintf(fid,'%s\n',s3);
fprintf(fid,formatr,RR');
fprintf(fid,'\n');
fprintf(fid,'%s\n',s2);
fprintq(fid,'%s\n',s4);
fprintf(fid,formati,II');
fclose(fid);

simonphlk 发表于 2006-5-4 20:01

很急,请高手看看,谢谢了~~<BR>

toes 发表于 2006-5-4 20:39

回复:(simonphlk)新手提问,关于编程之后完全无反应...

没仔细看,但注意你要把要输出的变量及表达式语句后的“;”号去掉。

toes 发表于 2006-5-4 22:49

哦,你输出到文件的那就没有我上面所说的问题了。新手还能编这么好,佩服。
^_^

simonphlk 发表于 2006-5-4 22:55

太谢谢了~~但是这个不是我编的,是一个范例来的,我只是由于需要用到这个范例的模型才使用。。。
问题是输出到文件也不成功,是否有什么要求?例如文件的位置等等。。。
是我输入完enter之后这个计算的结果就能直接输出的文件里么~~?
fid=fopen('001.DEA.approach.txt','w');
是不是要改为类似与fid=fopen('D:\001.DEA.approach.txt','w');
这样。。指定文件的位置?可是好像也不成功。。
实在不行就不要输出到文件算了--b

simonphlk 发表于 2006-5-4 23:18

还有,这一段
=size(BBI);
=size(BBO);
for i=1:Ninput
switch BBI(1,i)
case 1
str1(i,:)='人数 ';
case 2
str1(i,:)='机构数 ';
case 3
str1(i,:)='固定资产净值 ';
case 4
str1(i,:)='营业支出 ';
case 5
str1(i,:)='ATM&POS ';
case 6
str1(i,:)=='所有者权益 ';
end
end
此处用两个end时~运行后显示??? Subscripted assignment dimension mismatch.
而用一个end,或不用end就会会产生上面那种无反应的状况。。。此处的两个end有问题么????
页: [1]
查看完整版本: 新手提问,关于编程之后完全无反应