Creating a Loop for my work
    5 ビュー (過去 30 日間)
  
       古いコメントを表示
    
    Theophane Piette
 2020 年 1 月 31 日
  
    
    
    
    
    コメント済み: Theophane Piette
 2020 年 2 月 4 日
            Hi everyone,
I've got a old database, with folder with weird name that i have to rename to work on.
All my subject are named EC01 to EC50, and i've creating a code to change what i need to change on EC01:
"mkdir C:\Users\beber\Documents\EC01\RTC f
movefile C:\Users\beber\Documents\EC01\RTC\RTC_0034\graph* C:\Users\beber\Documents\RTC f
rmdir C:\Users\beber\Documents\EC01\RTC\RTC_0034"
And being new on Matlab, i wonder if there is a way to "loop" this code, to ask matlab to this manipulation on all the subject from EC01 to EC50 ?
Thank you for your help :D.
0 件のコメント
採用された回答
  Jakob B. Nielsen
      
 2020 年 1 月 31 日
        
      編集済み: Jakob B. Nielsen
      
 2020 年 1 月 31 日
  
      There is indeed! A basic loop runs through integer numbers that you specify. You can then convert these numbers to strings - which is matlab language for text. 
Example: 
for i=1:50 %whatever you write inside the for loop will execute 50 times, and each time the value of i will increase by 1
    numberstring=num2str(i); %now instead of a number e.g. 1, you have a string, '1'. 
    if i<10 %see below for why we do this! 
        mydir=['C:\Users\beber\Documents\EC0',numberstring,'\RTC f'];
        %the first time the loop runs, will be 'C:\Users\beber\Documents\EC01\RTC f'
        %the second time the loop runs, 'C:\Users\beber\Documents\EC02\RTC f'
        %the tricky part is, that obviously when you reach 10 you will get out 'C:\Users\beber\Documents\EC010\RTC f'
        %we get aroundn that by using "if" statements. 
        mkdir mydir; 
        %from there, make the rest of your code, and add more strings as needed. I wont make it all, play around with it a little bit - thats the best way to learn :)
    else
        filename=['C:\Users\beber\Documents\EC',numberstring,'\RTC f'];
        %small but subtle difference. Once i gets to 10, you will no longer put in the 0 before the number. 
        %so instead of getting EC010, you simply get EC10. 
        mkdir mydir;
end
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Entering Commands についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

