我想在matlab中使用相同的for循环创建多个序列的循环,即从0001到0100以及从0150到0200。下面的matlab代码显然是错误的(部分for number = 1:100; 150:200;
),并且包含在内以供澄清:
for number = 1:100; 150:200;
s = sprintf('%04d', number);
filename = ['E:\XRD\Enamel\r5004b_' s '.dat'];
startRow = 5;
end
答案 0 :(得分:4)
它实际上并不遥远:试试这个
for i = [1:100, 150:200]
使用方括号将两个数组连接成一个。你可能认为你可以简单地使用
for i = 1:200
并且在循环内部有一个条件,当它检测到100时它跳转到150 - 这将不起作用,因为与c不同,MatLab分别跟踪循环变量(尽管循环变量在循环中可用 - 它有点令人困惑!)
答案 1 :(得分:3)
单独制作范围,然后将它们放入迭代的单个矢量中。
R1 = 1:100
R2 = 150:250
R_All = [R1 R2]
For i = R_All
End