2011-10-21 39 views

Trả lời

60

Sử dụng chức năng size().

>> size(A,2) 

Ans = 

    3 

Đối số thứ hai chỉ định thứ nguyên của số phần tử được yêu cầu sẽ là '2' nếu bạn muốn số cột.

Official documentation.

+11

Tôi nghĩ rằng thường là cách hay để tránh sử dụng 'length()' trên ma trận và sử dụng 'size()' thay thế. khi sử dụng 'length()' bạn phải giả sử kích thước lớn nhất là gì và tôi đã gặp quá nhiều lỗi khi giả thiết này không chính xác. –

+1

@Scottie 2 hiện những gì đứng cho? – gbox

+1

@gbox 2 là viết tắt của thứ nguyên thứ hai của ma trận, tức là số cột. 'size (A, 1)' sẽ cho bạn số hàng. – Shai

2

Khi muốn để có được kích thước hàng với size() chức năng, bên dưới mã có thể được sử dụng:

size(A,1) 

Một cách sử dụng cho nó:

[height, width] = size(A) 

Vì vậy, bạn có thể nhận được 2 chiều của ma trận của bạn.

+0

plese không để lại ý kiến ​​như câu trả lời. – Shai

+0

Là một noob để Octave, cảm ơn bạn đã viết này ra trong một cách mà làm cho nó dễ đọc. –

6

Trong khi size(A,2) là đúng, tôi thấy nó nhiều dễ đọc hơn để đầu tiên xác định

rows = @(x) size(x,1); 
cols = @(x) size(x,2); 

và sau đó sử dụng, ví dụ, như thế này:

howManyColumns_in_A = cols(A) 
howManyRows_in_A = rows(A) 

Nó có thể xuất hiện như là một tiết kiệm nhỏ, nhưng size(.., 1)size(.., 2) phải là một số chức năng được sử dụng phổ biến nhất và chúng không thể đọc được một cách tối ưu.

Các vấn đề liên quan