TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?& z2 T+ \' j0 y" t
我加了个Limit 数值,连续出现多个零时才会分割8 x5 s# D% _ W" Q0 ]
结果Result 与B数组一致) C9 g8 ` \* W& l
Limit = 10;5 \3 E( y& f" k
idx = find(A~=0);# B" ? a' J- }3 Y+ S
IDX = diff(idx);
/ `. R4 I+ d1 h8 m) ^Starting = idx( [1; find(IDX>Limit) + 1] );
* b/ |( V/ c' z N2 |$ y. ?6 lEnding = idx( [find(IDX>Limit); end] );
- [) a" o+ b/ ^# R" M$ V9 yLength = max( Ending - Starting + 1 );
- G% O/ x H( N! stemp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...
! _, O3 y; ~/ Y5 F" x [1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);4 M% l2 {! m) b/ ?
Result = [temp{:}];3 Y7 X5 G0 K" j! p V1 M
disp( max( max(abs(Result - B)) ) ) |
|