TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
你这A序列里面有形如'a,b,c,0,d,e...'这种情形中的0怎么算?算分割开'a,b,c'与'd,e'还是直到连续出现多个0才视为分割?
8 H& T! c' ~; W7 O- m我加了个Limit 数值,连续出现多个零时才会分割
$ y& _2 H$ b4 Z7 n& H. \6 O结果Result 与B数组一致
2 B/ T0 w, L) wLimit = 10;
5 b; S0 X% b, f' Aidx = find(A~=0);
5 V* Z6 O X/ g0 u' ?IDX = diff(idx);! D: r w: ? |1 X
Starting = idx( [1; find(IDX>Limit) + 1] );% O; g) Y: X" m( J( b
Ending = idx( [find(IDX>Limit); end] );1 g( l0 ~9 D7 X
Length = max( Ending - Starting + 1 );
" h6 f- m' { |9 T- \3 V' Q! Rtemp = arrayfun(@(ii) [A(Starting(ii):1:Ending(ii));zeros(Length + Starting(ii) - Ending(ii) - 1,1)],...+ p: ?. @/ w* }7 M$ @- Z
[1:1:numel(find(IDX>Limit))+1],'UniformOutput',false);% _5 ?3 L* T( a3 a# L0 }6 ^' A- T2 l6 N
Result = [temp{:}];
/ A! g4 ]+ P4 G" D& M5 X. \ N- jdisp( max( max(abs(Result - B)) ) ) |
|