2010-04-28 39 views

Trả lời

4

Tôi có một chức năng như thế này trong con đường của tôi:

getRegion = @(matrix, rows, cols) matrix(rows,cols); 

Để tôi có thể gọi:

getRegion(cov(M), 1, 1); 

Nó cũng sẽ có tác dụng nếu bạn muốn có một khu vực lớn:

getRegion(cov(M), 1:2, 2); 
+0

giải pháp tốt đẹp .. – yassin

6

Có thể sử dụng chức năng ẩn danh:

>> f11 = @(M) M(1,1); 
>> M = [1 2; 9 4]; 
>> cov(M) 

ans = 

    32  8 
    8  2 

>> f11(cov(M)) 

ans = 

    32 

Hoặc cho chủ nghĩa thuần túy, ở đây nó là không có các biến trung gian ở tất cả:

>> feval(@(M) M(1,1), cov(M)) 

ans = 

    32 
+0

đẹp giải pháp, nhưng trong bản Tuyên Bố feval bạn xem xét thay đổi các tham số để một tên khác với 'M' cho rõ ràng. – Geoff

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