2014-06-13 14 views
21

Ne zaman bir vektöre eklemem gerekiyorsa bunu yapıyorum.Octave'de bir vektöre nasıl ekleyebilirim?

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

Ben Octave Bunu yapmanın bu ya daha şık yollar herhangi dahili fonksiyonlar olup olmadığını merak ediyorum.

+1

Bu yerleşik işlevinde bir ... – sivi

cevap

21

Yerleşik işlevler, Octave documentation (v 3.8) sayfalarında bulunan cat, vertcat ve horzcat işlevleridir. Aslında sahip olduklarınızla eşdeğerdirler.

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 

başka (yine eşdeğeri) yolu doğrudan matris indeksleme kullanmak olacaktır ben en verimli bu mesajın bulunmakta işlevinde inşa kullanmak olduğunu düşünüyorum

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

    6 7 8 
    7 8 9 
1

(sayfa 132 bakınız) sorusu (oktavdaki diğer uzmanlara güvenmeme rağmen tamamen kontrol etmedim; standart, matris işlemlerinin genellikle yinelemeli olanlardan daha hızlı olduğu, bunun mümkün kılınmasına izin veren iç mekanizmanın ne olduğunu bilmiyorum). Bir vektör matrice türüdür Çünkü, bu çözüm de (her türlü) vektörleri concatinating için çalışacak:

vector = [vector ; value]