Các tập tin giúp đỡ đi kèm với Octave có cụm từ này:
19,1 Basic bản vẽ Gia
Để một xấp xỉ đầu tiên rất tốt, mục tiêu trong vector là viết mã mà tránh các vòng lặp và sử dụng toàn bộ mảng hoạt động.Như một ví dụ tầm thường , hãy xem xét
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
so với đơn giản hơn nhiều
c = a + b;
này không chỉ đơn thuần là dễ dàng hơn để viết; nó cũng dễ dàng hơn trong việc tối ưu hóa nội bộ. Octave ủy nhiệm hoạt động này cho việc triển khai thực hiện cơ bản, trong số các tối ưu hóa khác, có thể sử dụng các hướng dẫn phần cứng đặc biệt hoặc thậm chí có thể thực hiện được các bổ sung trong số song song. Nói chung, nếu mã được vectorized, việc thực hiện cơ bản có nhiều tự do hơn về các giả định mà nó có thể thực hiện theo thứ tự để đạt được thực thi nhanh hơn.
Điều này đặc biệt quan trọng đối với các vòng có thân hình "rẻ". Thường thì nó đủ để vectorize chỉ là vòng lặp trong cùng để có được hiệu suất được chấp nhận. Nguyên tắc chung là "thứ tự" của cơ thể được vectorized phải lớn hơn hoặc bằng "thứ tự" của vòng lặp kèm theo .
Như một ví dụ ít tầm thường, thay vì
for i = 1:n-1
a(i) = b(i+1) - b(i);
endfor
ghi
a = b(2:n) - b(1:n-1);
Điều này cho thấy một khái niệm chung quan trọng về việc sử dụng mảng cho lập chỉ mục thay vì lặp qua một biến chỉ số.  Biểu thức chỉ mục. Cũng sử dụng lập chỉ mục boolean một cách hào phóng. Nếu điều kiện cần được kiểm tra, điều kiện này cũng có thể được viết dưới dạng chỉ số boolean . Ví dụ, thay vì
for i = 1:n
if (a(i) > 5)
a(i) -= 20
endif
endfor
ghi
a(a>5) -= 20;
mà khai thác thực tế là 'a> 5' tạo ra một chỉ số boolean.
Sử dụng toán tử vector nguyên tử bất cứ khi nào có thể để tránh vòng lặp (các toán tử như '. *' Và '. ^').  Số học Ops. Đối với các hàm nội tuyến đơn giản , chức năng 'vectơ hóa' có thể thực hiện điều này tự động.
- Chức năng tích hợp: vectorize (FUN) Tạo phiên bản vectơ của hàm inline FUN bằng cách thay thế tất cả các lần xuất hiện '', '/', v.v. với '. '' ./', vv
This may be useful, for example, when using inline functions with
numerical integration or optimization where a vector-valued
function is expected.
fcn = vectorize (inline ("x^2 - 1"))
=> fcn = f(x) = x.^2 - 1
quadv (fcn, 0, 3)
=> 6
See also:  inline,  formula,
 argnames.
Cũng khai thác phát sóng trong các nhà khai thác elementwise cả tránh lặp và cấp phát bộ nhớ trung gian không cần thiết.
 Phát sóng.
Sử dụng chức năng tích hợp sẵn và thư viện nếu có thể. Tích hợp sẵn và chức năng biên dịch rất nhanh. Ngay cả với chức năng thư viện m-file, cơ hội tốt là nó đã được tối ưu hóa hoặc sẽ được tối ưu hóa thêm trong bản phát hành trong tương lai.
Ví dụ, thậm chí tốt hơn so với
a = b(2:n) - b(1:n-1);
là
a = diff (b);
Hầu hết Octave chức năng được viết với lập luận vector và mảng trong tâm. Nếu bạn thấy mình viết một vòng lặp với một thao tác rất đơn giản, cơ hội là một hàm như vậy đã tồn tại. Các chức năng sau xảy ra thường xuyên trong mã vectorized:
Index thao tác
* find
* sub2ind
* ind2sub
* sort
* unique
* lookup
* ifelse/merge
Lặp
* repmat
* repelems
vectorized số học
* sum
* prod
* cumsum
* cumprod
* sumsq
* diff
* dot
* cummax
* cummin
Shape của mảng nhiều chiều hơn
* reshape
* resize
* permute
* squeeze
* deal
Ngoài ra nhìn vào những trang này khỏi một wiki Stanford ML cho một số hướng dẫn hơn với các ví dụ.
http://ufldl.stanford.edu/wiki/index.php/Vectorization
http://ufldl.stanford.edu/wiki/index.php/Logistic_Regression_Vectorization_Example
http://ufldl.stanford.edu/wiki/index.php/Neural_Network_Vectorization
bạn có thể cung cấp một liên kết đến bài thuyết trình về GLM? – justis
Được phép của lớp ML của Giáo sư Andrew Ng tại Stanford: http://cs229.stanford.edu/materials.html - tài liệu GLM và Softmax Regression được tìm thấy ở cuối Bài giảng 1 – oort