Tôi muốn ghép một vec-tơ vào một cuộc gọi hàm, nhưng tôi không thể tìm thấy cách để thực hiện việc này. Có thể không?Matlab --- vector ghép vào các đối số cho cuộc gọi hàm
Để mở rộng ý tôi, giả sử chúng ta có vector x
dài n
và hàm f
có các đối số n
. Tôi muốn có thể gọi số f(x(1), x(2), ..., x(n))
bằng cách gọi một số thứ như f(x)
hoặc f(splice(x))
. Nếu x
là một mảng ô thay vì vectơ, gọi f(x{:})
sẽ nhận được kết quả mong muốn; nó chỉ có vẻ hợp lý rằng sẽ có một số tương đương cho khi x
là một vectơ.
Tôi đang hy vọng một số nhà điều hành hoặc chức năng mà tôi đang thiếu. Tôi chỉ có thể gọi y = num2cell(x)
theo sau là f(y{:})
, nhưng điều này không thực sự là những gì tôi đang tìm kiếm.
Không 'x (:)' hoạt động? Hoặc nếu đó là một vector cột sử dụng 'x (:) ''. – Thor
Tuyến 'num2cell' chính xác là những gì bạn nên tìm kiếm. – Jonas
@ Jonas Công bằng đủ, trong đó giải pháp là đơn giản. Nhưng tôi nghĩ rằng đó là một chút ngớ ngẩn mà tôi phải chỉ định một biến tạm thời (và, do đó, có nội dung của biến được sao chép thêm một thời gian) chỉ để làm điều này. Tại sao tính năng này tồn tại đối với mảng ô chứ không phải cho mảng số (được cho là phổ biến hơn) (tức là "mat" trong "matlab")? Nhưng dù sao đi nữa, đó là lý do tại sao tôi hỏi: Nó có vẻ giống như một tính năng có khả năng được hỗ trợ nhưng tôi đã mất tích. – zroth