TA的每日心情 | 开心 2019-11-19 15:19 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?
( o! n1 D) ^4 x6 D: u我加了个Limit 数值,连续出现多个零时才会分割8 M9 g( B( s: `6 O; B. |$ |
结果Result 与B数组一致' @. R& ?+ W7 z8 K* Y4 p$ _' h
Limit = 10;5 J8 ^2 G: ]! i$ ?4 @
idx = find(A~=0);! d1 u" Y7 Q7 w% M, Q/ v
IDX = diff(idx);
4 f$ B% s; I, P1 I5 J. b$ yStarting = idx( [1; find(IDX>Limit) + 1] );) i* X4 y) T r; U
Ending = idx( [find(IDX>Limit); end] );( a1 m: q6 B! H+ w7 d: L" Z/ k7 C
Length = max( Ending - Starting + 1 );
# p2 x: ^! \$ U/ A btemp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...) ?1 `: G! D! C8 S
[1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);6 f7 o2 x5 g' T4 b$ Q' [0 x
Result = [temp{:}];, n- \8 a% N; n& l
disp( max( max(abs(Result - B)) ) ) |
|