Estrarre vettori da una matrice ed inserirli in un'altra!

di Fernand0 il
1 risposte

Salve , ho questo problema con Matlab. 
Ho tre vettori a , b e c che hanno 30 righe e 150 colonne. Devo creare una matrice D che abbia 30 righe e 90 colonne in modo tale che D(:,1) = a(:,1) , D(:,2) = b(:,1) , D(:,3) = c(:,1) e così via fino all'esaurimento delle 150 colonne. Come posso fare ad implementare un ciclo in modo tale da non riscrivere l'operazione per 150 volte ? Grazie !

1 Risposte

  • Salve, puoi utilizzare il ciclo for per risolvere il tuo problema in modo efficiente. Ecco un esempio di come potrebbe essere fatto:

    % Crea una matrice D vuota
    D = zeros(30, 90);
    
    % Cicla per ogni colonna di D
    for i = 1:90
        % Assegna il valore della prima colonna di a alla prima colonna di D
        D(:, i) = a(:, i);
        % Assegna il valore della prima colonna di b alla seconda colonna di D
        D(:, i+1) = b(:, i);
        % Assegna il valore della prima colonna di c alla terza colonna di D
        D(:, i+2) = c(:, i);
    end
    

    In questo modo, il ciclo for consente di eseguire l'operazione di assegnazione per ognuna delle 150 colonne senza doverla riscrivere manualmente 150 volte. Spero che questo ti aiuti a risolvere il tuo problema!

Devi accedere o registrarti per scrivere nel forum
1 risposte