2012-10-14 27 views
6

Ho matrice (vettore) r =[2 4] e matrice report con dimensione 50 * 2. Voglio inserire r nella riga 1 della matrice report. Quando eseguoAssegnazione di un vettore a una riga matrice in MATLAB

with report(1)=r; 

MATLAB restituisce questo errore:

??? In an assignment A(I) = B, the number of elements in B and I must be the same.

Come posso risolvere questo errore?

risposta

10
report(1,:)=r 

è necessario specificare le colonne. Altrimenti report(1) è uno scalare, r è un vettore e si verifica un errore.

+0

Questa risposta SOVRASCRIVE i valori correnti nella riga 1 nel rapporto (1, :), per un modo di AGGIUNGI r PRIMA delle righe esistenti nel rapporto, è possibile utilizzare la risposta di user1319936. – Rune

4

A meno che non mi manca qualcosa che semplicemente vogliono avere un vettore come prima riga di una matrice:

report = [r;report]

+0

La risposta di @angainor sovrascrive i valori correnti nella riga 1 nel rapporto (1, :), per un modo di AGGIUNGI r PRIMA delle righe esistenti nel rapporto, è possibile utilizzare questa risposta. Si prega di notare che ci vuole un tempo esponenziale molto più lungo della risposta di angainor man mano che la tabella si ingrandisce, nel caso in cui si vogliano aggiungere migliaia di linee in questo modo! – Rune

Problemi correlati