| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2019-11-21 
				
				
				
					帖子: 3,013
				 
				
				
				声望力: 66 ![]()  | 
	
	
	
		
		
			
			 
			
			我有一个数组S ,它具有一些唯一的元素。我想添加数组N中尚未在S元素。  
		
		
		
		
		
		
		
	一种语法上简单的方法是: S = union( S, N, 'stable' ); 我发现使用ismember手动添加可能会比较慢,而使用隐式扩展会更快: % ismember approach S = [S; N(~ismember(N,S))]; % imp. expansion approach S = [S; N(~any(S(:)==N(:).',1))]; 但是,在循环内执行此操作仍然感觉很脏,并且隐式扩展对于大型输入而言可能会非常昂贵。 有更高效的替代方案吗? 如果有帮助,我们可以假设S和N仅包含整数。但是,我们不能假设S是排序的,从N追加的新元素可以是任何正整数。 最小示例: Ntest = [1 2 3 4 2 5 3 6 1 5 7 9]; S = []; for ii = 1:3 N = Ntest(ii,:); S = union(S,N,'stable'); end % S = [ 1; 2; 3; 4; 5; 6; 7; 9 ] 在实际情况下,我Ntest上面的Ntest那样Ntest知道N的潜在值。 更多&回答...  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |