[英]Change variable value inside loop in MATLAB
如何在循環內更改“ StartRow”和“ EndRow”的值?
for k = 1:11
filename = 'file.txt';
...
startRow = 1422; %1564, 1706, 1848, 1990, 2132, 2274, 2416, 2558, 2700, 2842
endRow = 1562; %1704, 1846, 1988, 2130, 2272, 2414, 2556, 2698, 2840, 2982
...
f=figure;
plot(...);
saveas(f,sprintf('fig%d.png',k));
結束
您可以在for循環之前的列表中存儲startRow
和endRow
所有值,然后遍歷該列表以在循環內更改這些變量的值。
startRowList = [1422, 1564, 1706, 1848, 1990, 2132, 2274, 2416, 2558, 2700, 2842];
endRowList = [1562, 1704, 1846, 1988, 2130, 2272, 2414, 2556, 2698, 2840, 2982];
for k = 1:11
filename = 'file.txt';
...
startRow = startRowList(k);
endRow = endRowList(k);
...
f=figure;
plot(...);
saveas(f,sprintf('fig%d.png',k));
end
將startRow和endRow保留在循環外,並使用循環索引在循環內調用它們。
startRow = [1422 1564, 1706, 1848, 1990, 2132, 2274, 2416, 2558, 2700, 2842] ;
endRow = [1562 1704, 1846, 1988, 2130, 2272, 2414, 2556, 2698, 2840, 2982];
n = length(startRow) ;
for k = 1:n
filename = 'file.txt';
thestart = startRow(k) ;
theend = endRow(k) ;
...
...
f=figure;
plot(...);
saveas(f,sprintf('fig%d.png',k));
end
starts = [1422, 1564, 1706, 1848, 1990, 2132, 2274, 2416, 2558, 2700, 2842];
ends = [1562, 1704, 1846, 1988, 2130, 2272, 2414, 2556, 2698, 2840, 2982];
for k = 1:11
...
startRow = starts(k);
endRow = ends(k);
...
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.