Info
此问题已关闭。 请重新打开它进行编辑或回答。
The loop is causing time out so i want to convert it to matrix operations.
1 次查看(过去 30 天)
显示 更早的评论
I ave re written my doubts so please consider it now,
for i = 2 : LenRxDiv
UsedAnt = currAnt(i-1);
%UsedAnt = currAnt(1:LenRxDiv);
StartTime = currTime(i-1);
%StartTime[1:LenRxDiv] = currTime(1:LenRxDiv);
%check for intersection with CQI
IntersLen = min([(ActTimeStop - StartTime) (currTime(i) - ActTimeStart) repmat((currTime(i) - StartTime),NumActReg,1) (ActTimeStop - ActTimeStart)], [], 2);
%IntersLen[1:LenRxDiv] = min([(ActTimeStop[1:LenRxDiv] - StartTime[1:LenRxDiv]) (currTime[1:LenRxDiv] - ActTimeStart[1:LenRxDiv]) repmat((currTime[1:LenRxDiv] - StartTime[1:LenRxDiv]),NumActReg[1:LenRxDiv],1) (ActTimeStop[1:LenRxDiv] - ActTimeStart[1:LenRxDiv])], [], 2);
UtilHSDPA(UsedAnt) = UtilHSDPA(UsedAnt) + sum(IntersLen(IntersLen>0));
UtilAll(UsedAnt) = UtilAll(UsedAnt) + currTime(i) - StartTime;
end
These are the values of above code:
when i = 2
LenRxDiv : 1*1 double = 725590
UsedAnt :1*1 double = 2
IntersLen : 120936 * 1 double = -5238 -88277/3 .... ..... ..... .....
StartTime :1*1 double = 2046467740
ActTimeStop : 120936 * 1 double = 2046462502 .... .... ...... .....
ActTimeStart : 12093 * 1 double = 2046462502 .... .... .... ....
CurrTime(i) : 725590 * 1 double = 20464627740 ..... .... .....
NumActReg : 1 * 1 double = 120936
UtilHSDPA(UsedAnt) : 1 * 4 double = 0 0 0 0
so now could someone please explain how can remove the loop from above code since its causing timeout and can it be converted into matrix manipulation.
6 个评论
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!