Info

この質問は閉じられています。 編集または回答するには再度開いてください。

The loop is causing time out so i want to convert it to matrix operations.

1 回表示 (過去 30 日間)
MSDataSpl1
MSDataSpl1 2017 年 6 月 18 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 件のコメント
MSDataSpl1
MSDataSpl1 2017 年 8 月 1 日
編集済み: dpb 2017 年 8 月 1 日
Even when i am using the change you mentioned
IntersLen=min([(ActTimeStop-StartTime) (currTime(i)-ActTimeStart) ...
(currTime(i)-StartTime) (ActTimeStop-ActTimeStart));
then i am getting the error,
Dimensions of matrices being concatenated are not consistent.
MSDataSpl1
MSDataSpl1 2017 年 8 月 1 日
I want to find the minimum value of the matrices so i am using min function but the problem is the dimension of matrix should be same so i am using repmat but it causing timeout when used for multiple iterations, so is there any substitut for repmat

回答 (0 件)

この質問は閉じられています。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by