Eliminare righe da una matrice

di il
2 risposte

Eliminare righe da una matrice

Ho una matrice M di questo tipo:

4 8 3 6 4 3
3 6 3 5 7 4
2 6 8 4 3 4
1 6 4 3 4 5

e vorrei ottenere una nuova matrice M depurata delle righe il cui valore della prima colonna contiene un valore presente nel vettore T.

Esempio:

T = [4,1]

M=
3 6 3 5 7 4
2 6 8 4 3 4

Il costrutto dovrebbe vunzionare bene per matrici gigantesche...

2 Risposte

  • Re: Eliminare righe da una matrice

    Ciao, ho provato questo codice...mi pare funzioni, spero sia quello che ti serve.

    function [M2] = Fun_forum( M,T )
    
    n=length(T); %T vettore
    m=size(M,1); %M matrice
    
    M1=M(:,1); %prima riga della matrice
    o=0;
    k=zeros(1,m);
    for i=1:n    
        
        for j=1:m       
            
            if M1(j)==T(i)
            o=o+1;        
            k(o)=j;    %crea un vettore con gli indici delle righe da eliminare
                       
            end
        
                
        end
    end
    
    M(k(1:o),:)=[]; %elimina le righe indicare dal vettore k
    M2=M;
    end
    
  • Re: Eliminare righe da una matrice

    Nel frattempo avevo risolto comunque grazie mille

Devi accedere o registrarti per scrivere nel forum
2 risposte