TA的每日心情 | 开心 2019-11-19 15:19 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?4 S) A l' P8 L! Z5 F8 X& a& K9 O
我加了个Limit 数值,连续出现多个零时才会分割' C/ B2 E- x7 b2 w* \4 O/ H ]
结果Result 与B数组一致5 M3 r, V9 O: }" N" Z) z0 F' D o
Limit = 10;
. A$ |3 V+ [7 F# Z+ D6 Eidx = find(A~=0);6 ~4 G6 Q3 i2 v3 d4 S$ o
IDX = diff(idx);
5 s# I/ O3 ]. a9 AStarting = idx( [1; find(IDX>Limit) + 1] );( D* X6 m U' r% v# S! M p1 H1 q2 ^" m; i
Ending = idx( [find(IDX>Limit); end] );' X$ N* u$ i* f o& U& u8 Z1 J
Length = max( Ending - Starting + 1 );
! t- Q) S5 q& u, q( G1 A1 O$ Ztemp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...
5 m8 j" d2 D0 m" c [1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);# F) O9 U O& ^. ?( m$ ~
Result = [temp{:}];( m' K5 _+ Q+ k: [5 a
disp( max( max(abs(Result - B)) ) ) |
|