Deleting Rows of a Matrix
    10 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Chris Dan
      
 il 25 Giu 2020
  
    
    
    
    
    Commentato: Chris Dan
      
 il 26 Giu 2020
            Hello,
I have a 1D matrix or an array,  I have attached files. 

I have to delete its rows, such that starting from 4 till 6, then 10 to 12, then 16 till 18 and so on...
so basically leave three and then delete three.. leave 1 2 3 delete  4 5 6 then leave 7 8 9 delete 10 11 12... and going on till the last of matrix 
I made this small program. 
The problem I am having is in defining the variable X which tells how long will this loop run for until all the required rows are deleted.
load('Mass_Global.mat')
load('Damp_Global.mat')
load('Stiffness_Global.mat')
[V,D] = eigs(Stiffness_Global,Mass_Global,1,'smallestabs')
X = 
 a =4;
for i =1:1:X
    for j =a:1:(a+2)
        V(j,: )=[];    
    end
    a = a+4
end
Does anyone has an idea?
Can it be done without loops?
0 Commenti
Risposta accettata
  Image Analyst
      
      
 il 25 Giu 2020
        Here's one way:
v = rand(1, 1512)' % Create sample data.
m = reshape(v, 3, []) % Make into matrix.
m(:, 2:2:end) = []; % Delete every other column.
v2 = m(:); % Turn into column vector.
Più risposte (1)
  Gaurav Aggarwal
      
 il 25 Giu 2020
        
      Modificato: Gaurav Aggarwal
      
 il 25 Giu 2020
  
      Hi Hamzah,
It is possible. Could you check if this works for you?
X = %% your value
%% Starting value of the last chunk to be deleted, simple Arithmetic Progression
an = (4+(X-1)*6);
%% Find all the starting values for the 'to be deleted' chunks i.e. [4 10 16 ... an]
L = 4:6:an;
%% [L L+1 L+2] are all the indices which need to be removed
V([L L+1 L+2], :) = [];
Let me know if this helps you. Thanks.
Vedere anche
Categorie
				Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



