Insert elements into vector
    3 views (last 30 days)
  
       Show older comments
    
I have a vector 'index' and 'val_index'
index = [1;2;4;5;6;8;9];
index_val = [11;25;3;4;56;7;9];
I remove indices 3 and 7 from the 'index' . The 'removed_index' which I have is the cell array.
removed_index = {[7],[3]};
removed_val = {[1.1],[3.2]};
I want to insert removed indices and the values to the 'index'
Result should be:
index_all = [1;2;3;4;5;6;7;8;9];
index_val_all = [11;25;3.2;3;4;56;1.1;7;9];
0 Comments
Accepted Answer
  Stephen23
      
      
 on 31 Oct 2020
        index = [1;2;4;5;6;8;9];
index_val = [11;25;3;4;56;7;9];
removed_index = [7,3];   % simpler to use a numeric array
removed_val = [1.1,3.2]; % simpler to use a numeric array
Then all you need is:
idx = [index(:);removed_index(:)];
vec = [index_val(:);removed_val(:)];
vec(idx) = vec
idx(idx) = idx
3 Comments
  Stephen23
      
      
 on 6 Nov 2020
				
      Edited: Stephen23
      
      
 on 6 Nov 2020
  
			index = [1;4;5;8;9];
index_val = [11;3;4;56;7];
removed_index = [7,3];   % simpler to use a numeric array
removed_val = [1.1,3.2]; % simpler to use a numeric array
idx = [index(:);removed_index(:)];
vec = [index_val(:);removed_val(:)];
[idx,ids] = sort(idx); idx
vec = vec(ids)
More Answers (0)
See Also
Categories
				Find more on Performance and Memory in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!