TA的每日心情 | 开心 2019-11-19 15:19 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?
7 P) i" r) t s( A7 U% w7 i9 P我加了个Limit 数值,连续出现多个零时才会分割
+ f# I: v" D: C( Q: P0 U" a* d结果Result 与B数组一致3 s* B8 C+ b2 a1 \" `9 ~
Limit = 10;* c, W8 s8 L+ h7 h) T S, J" w8 G# v3 m
idx = find(A~=0);
" f& ?' A% v7 r* AIDX = diff(idx);
! z' ^% L. Y2 i3 a: aStarting = idx( [1; find(IDX>Limit) + 1] );
' B1 E; z" @! L: K8 uEnding = idx( [find(IDX>Limit); end] );
3 |# ~4 Y1 s7 v$ J+ OLength = max( Ending - Starting + 1 );
# D- R, f& N) ^- H" F' qtemp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...
& c, F4 b2 k2 c8 z [1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);4 e( W5 `8 \6 v( C, c, I
Result = [temp{:}];
' E) x( k* C! z( v4 e. Z: D% Fdisp( max( max(abs(Result - B)) ) ) |
|