马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function polltuo
%问卷调查结果的处理:本程序处理全为选择题的问卷,共133题,若干题目有多选ABCD分别
%以1234代表
%MADE FOR TUO
%SPECIFICATION:
%This code is used to read&write the poll data from txt document to exce-
%l and finally to spss system.
%NOTE:
%It is impossible to write data into computers without your fingers,...
%This program also needs your hands but uses less time to complete the
%same complicate work.
%Just enjoy it...^_^
%AUTHOR:LIQING 2007-4-3
pol1=textread('data01.txt','%c');%读入的数据按一列给出,不按照原来的行列划分
pol=pol1';
for i0=1:136
h0=0;
for i1=i0:136:(length(pol1)-136+i0)
h0=h0+1;
pol2(h0,i0)=pol1(i1);
end
end
b=0;
n=136;%所有数字位数
n1=length(pol1)/n;
t=zeros(n1,133);%现在只能输入一组数据......唉...
for h=1:n1 %length(pol1)
b=b+1;%data 行数加1
p=zeros(133,2);%133 为问卷的题目总数 2表示两列,其中一列为十位数,一列为个位数
for l=1:28
p(l,:)=[pol2(h,l),0];
end %循环用来赋值,对象为一位数
for l=30:104
p(l,:)=[pol2(h,l+1),0];
end %循环用来赋值,对象为一位数
for l=106:128
p(l,:)=[pol2(h,l+2),0];
end %循环用来赋值,对象为一位数
for l=130:133
p(l,:)=[pol2(h,l+3),0];
end %循环用来赋值,对象为一位数
p(29,:)=pol2(h,29:30);
p(105,:)=pol2(h,106:107);
p(129,:)=pol2(h,131:132);%两位数单独赋值
k=0;
pp=double(p)-48*ones(size(p));
q=zeros(1,133);
for i=1:133
k=k+1;
if pp(i,2)<0
q(i)=pp(i,1);
else
q(i)=pp(i,2)+10*pp(i,1);
end
end
t(h,:)=q;
end
xlswrite('spss01',t); |