@ David cung cấp giải pháp gọn gàng cho vấn đề cụ thể của bạn. Nhưng giải pháp sau đây sẽ làm việc cho bất kỳ tập hợp các số (lưu ý, họ không cần phải là số nguyên), mặc dù tôi đã thiết lập nó cho vấn đề cụ thể của bạn.
OutputSize = [20, 1]; %Size of output matrix
A = [-3; -2; -1; 1; 2; 3]; %Vector of numbers you want to sample from (can be whatever you want)
x = A(randi(length(A), OutputSize)); %We randomly select the indices of A
Bạn có thể muốn biến trên vào một chức năng với đầu vào A
và OutputDim
.
Bạn có thể yếu tố thậm chí lại mẫu của một mảng di động sử dụng phương pháp này ...
EDIT: điều chỉnh mã để cho phép mảng đầu ra của bất kỳ kích thước sau đề nghị của @Divakar trong các ý kiến
Nguồn
2014-10-31 10:01:40
đây có phải là đúng? Ý tôi là, các ô xác suất. Các giải pháp của David crates số với xác suất bằng nhau, và sau đó thay đổi một trong "chỉ số" hoặc giá trị. Anh ta không nên có số tiền cao hơn là 3. đúng? Hoặc tôi đang thiếu một cái gì đó? –
@AnderBiguri Yeah cốt truyện thứ hai là một trong những cách tiếp cận của David. – Divakar
Tôi hiểu, nhưng tôi đang cố gắng để hiểu (tôi thực sự hút tại số liệu thống kê) tại sao anh ta có số tiền cao hơn của 3. –