2014-06-13 17 views
21

Wann immer ich an einen Vektor anhängen muss mache ich das.Wie kann ich einen Vektor in Octave anhängen?

A = [2 3 4] 
A = [A; 3 4 5] 

Ich habe mich gefragt, ob es irgendwelche eingebauten Funktionen für diese oder elegantere Wege, dies in Octave tun.

+1

Dies ist die eingebaute Funktion ist ... – sivi

Antwort

21

Die eingebauten Funktionen sind cat, vertcat und horzcat, die auf den Seiten 380-381 der Octave documentation (v 3.8) zu finden sind. Sie sind im Wesentlichen gleichwertig mit dem, was Sie haben.

octave:5> A = [2 3 4]; 
octave:6> A = [A; 3 4 5] 
A = 

    2 3 4 
    3 4 5 

octave:7> B = [4 5 6]; 
octave:8> B = vertcat(B,[5 6 7]) 
B = 

    4 5 6 
    5 6 7 

Weitere (wieder Äquivalent) Art und Weise direkt Matrix Indizierung wäre zu verwenden (siehe Seite 132)

octave:9> C = [6 7 8]; 
octave:10> C(end+1,:) = [7 8 9] 
C = 

    6 7 8 
    7 8 9 
1

Ich denke, dass die effizienteste ist diese integrierte Funktion zu verwenden, die Sie in diesem Thema geschrieben haben die Frage (ich verlasse mich auf andere Experten in der Oktave ich habe es nicht vollständig überprüft; der Standard ist, dass Matrixoperationen im Allgemeinen schneller sind als iterative, ich weiß nicht, was der innere Mechanismus, der dies ermöglicht, noch aktiviert). Da ein Vektor mit einer Art von matrice ist, wird diese Lösung funktioniert Vektoren für concatinating (jeglicher Art) zu:

vector = [vector ; value] 
Verwandte Themen