Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
can change the name of txt. file not manually
조회 수: 1 (최근 30일)
이전 댓글 표시
hi,
I have to run the following code sevral times, each time I have to change the name of files , I have to read 2 files and write one file. If I change the name of files manually , it takes long time . Are there a way by which can change the name not manually . i.e can do that x=2; in this case I change just x each running
f1=dlmread('d:\matlab\r2011a\bin\new_movielens1\netflix\sequences\part1_x.txt');
f4=dlmread('d:\matlab\r2011a\bin\new_movielens1\netflix\sequences\intersect_x.txt');
[p o]=size(f1);k=1;
for i=1:length(f4)
seq1(i,:)=f1(f4(i),:);
seq2(i,:)=f2(f4(i),:);
seq3(i,:)=f3(f4(i),:);
end
dlmwrite('d:\matlab\r2011a\bin\new_movielens1\netflix\sequences\com_eval_x.txt',seq3);
thanks in advance
댓글 수: 0
답변 (1개)
Ahmed A. Selman
2013년 4월 6일
If your filenames are part1_1.txt, part1_2.txt, part1_3.txt.. etc.,
and intersect_1.txt, intersect_2.txt.. etc.,
and want to write in files as com_eval_1.txt, com_eval_2.txt..etc., respectively,
use the following method:
name1='d:\matlab\r2011a\bin\new_movielens1\netflix\sequences\part1_';
name2='d:\matlab\r2011a\bin\new_movielens1\netflix\sequences\intersect_';
nameout='d:\matlab\r2011a\bin\new_movielens1\netflix\sequences\com_eval_';
ext='.txt';
n=... ;% number of files
for x=1:n
F1_name=[name1,num2str(x),ext];
F4_name=[name2,num2str(x),ext];
OutName=[nameout,num2str(x),ext];
f1=dlmread(F1_name);
f4=dlmread(F4_name);
[p o]=size(f1);k=1;
for i=1:length(f4)
seq1(i,:)=f1(f4(i),:);
seq2(i,:)=f2(f4(i),:);
seq3(i,:)=f3(f4(i),:);
end
dlmwrite(OutName,seq3);
end
댓글 수: 1
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!