TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?
9 `) Q! l8 ]: g7 s1 X' ^我加了个Limit 数值,连续出现多个零时才会分割( g# G) U. s) o* i0 @
结果Result 与B数组一致* G/ r- U) Z. D$ a m" `
Limit = 10;5 _3 r/ O( U+ w- c( o
idx = find(A~=0);
/ f9 b8 E( u6 N% [7 A9 ~9 ]IDX = diff(idx);' i0 c6 ?' E' P
Starting = idx( [1; find(IDX>Limit) + 1] );9 Y6 ^ z" L7 {2 v* A
Ending = idx( [find(IDX>Limit); end] );
; T" ?; `+ M1 {& ]! s' s7 t- S; JLength = max( Ending - Starting + 1 );9 a- t: ? F8 o: b, d
temp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...# f+ ^$ l; ?+ d) h, p9 c
[1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);5 t6 }" W( z0 ~) c# O1 z
Result = [temp{:}];
" n2 r4 ^/ B0 I T, Udisp( max( max(abs(Result - B)) ) ) |
|