2014-05-29 3 views
2

Я хотел бы создать цикл для нескольких последовательностей, то есть от 0001 до 0100 и от 0150 до 0200, используя тот же для цикла в matlab. Код ниже MATLAB, очевидно, неправильно (часть for number = 1:100; 150:200;) и включен для уточнения:Matlab: Создание цикла для нескольких последовательностей

for number = 1:100; 150:200; 
    s = sprintf('%04d', number); 
    filename = ['E:\XRD\Enamel\r5004b_' s '.dat']; 
    startRow = 5; 

    end 

ответ

4

Ее на самом деле не за горами: попробуйте это вместо

for i = [1:100, 150:200] 

С помощью квадратных скобок вы сцепить два массива в один. Вы можете думать, что вы можете просто использовать

for i = 1:200 

и имеют условное внутри цикла, что, когда он обнаруживает 100 прыгает до 150 - это не будет работать, так как в отличие от C, MatLab отслеживает переменной цикла отдельно (несмотря на то, что переменная цикла доступна в цикле - ее немного запутывает!)

3

Сделать диапазоны отдельно затем поместить их в единый вектор итерации по.

R1 = 1:100 

R2 = 150:250 

R_All = [R1 R2] 

For i = R_All 

End 
Смежные вопросы