訪問行我正在尋找一種方法以更新向量nx113]我的系統的每一個完整的旋轉某些元素。以固定間隔
%% # Iterate through timesteps
for tt = 1:nTimeSteps
% # Initialise ink on transfer roller
rollers(2).ink = [zeros(1,98),ones(1,5),zeros(1,113)];
% # Rotate all rollers
for ii = 1:N
rollers(ii).ink(:) = ...
circshift(rollers(ii).ink(:),rollers(ii).rotDirection);
end
% # Update all roller-connections
for ii = 1:N
for jj = 1:nBins(ii)
if(rollers(ii).connections(jj) ~= 0)
index1 = rollers(ii).connections(jj);
index2 = find(ii == rollers(index1).connections);
ink1 = rollers(ii).ink(jj);
ink2 = rollers(index1).ink(index2);
rollers(ii).ink(jj) = (ink1+ink2)/2;
rollers(index1).ink(index2) = (ink1+ink2)/2;
end
end
end
% # Calculate average amount of ink on each roller
for ii = 1:N
averageAmountOfInk(tt,ii) = mean(rollers(ii).ink);
end
rollers(18).TakeOff = averageAmountOfInk*0.6;
end
矢量輥子(2).ink是我想更新向量。目前該矢量只填充一次,所以我有98:103行。我希望不僅僅是第一次爲我的系統的每個「旋轉」填充這些元素的範圍。 原因 - 我試圖顯示墨水被間歇僅從輥表面的一小部分加入,因此需要僅五個單元被填充。 我想,如果我從1迭代到的時間步數,在步驟大小nBins-Max在循環:
for tt = 1:nBins_max:nTimeSteps
這似乎並沒有什麼我後我。 我也希望在最後從系統中移除墨水。對於每一轉我想能夠去除在每個旋轉墨水的百分比,因此不會在系統中停留(好像它是被印刷到紙張上,並帶走)。 希望有人能理解這一點,或許就如何對我的問題的一方或雙方進行了一些建議。
我正在嘗試以更友好的方式重寫這個問題,希望能吸引更多的關注 - 所以我想刪除這篇文章!很多感謝輸入的高性能標記,但它是非常有用的,由於我的問題最初的模糊性,我不認爲它符合我的要求! – richyo1000 2013-03-13 12:30:16