2010-02-27 27 views
5

Trong Mathematica,Mathematica -creating danh sách và vectơ có độ dài cụ thể

  1. Làm thế nào tôi có thể tạo một danh sách dài n và điền với zero?
  2. Làm cách nào để tôi có thể tạo vectơ có độ dài n và điền bằng số không?
+0

Ngoài nhận xét của Timo nếu bạn nghĩ câu trả lời chưa được cung cấp trong các câu hỏi trước, vui lòng thêm nhận xét nói như vậy và tại sao. – Davorak

+0

Davorak, Câu trả lời của bạn thật tuyệt vời! Tôi cuối cùng đã tìm ra rằng tôi có thể gỡ lỗi mma bằng cách đầu tiên không sử dụng các mô-đun tuyên bố, làm cho nó hoạt động và sau đó sử dụng một mô-đun. Mô-đun chỉ cho tôi đường màu cam không có chẩn đoán tốt khi có lỗi trong mã của tôi. Sau khi loại bỏ các tiêu đề mô-đun và làm việc theo cách đó mọi thứ đã tốt hơn nhiều - chẩn đoán tốt, vv Tôi đã có khoảng 20 phiên bản của mô-đun của tôi khi tôi liên lạc với stackoverflow. Tôi cần phải có cú pháp đúng. Trải nghiệm này đã thực sự hữu ích. Tôi cần đến mức tôi có thể lập trình nhanh chóng. Cảm ơn. MM –

Trả lời

3

Trong Mathematica, không có sự phân biệt giữa danh sách và vectơ. Bạn có thể sử dụng Table chức năng để tạo ra một danh sách dài n:

x = Table[0, {n}] 
(* If n was 4, x would now be the list {0, 0, 0, 0} *) 
9

Version 6.0 trở lên bao gồm một chức năng mới ConstantArray để thực hiện chính xác này, và hiệu quả hơn so với sử dụng Table:

In[2]:= ConstantArray[0,10] 
Out[2]= {0,0,0,0,0,0,0,0,0,0} 

Tài liệu tại đây:
http://reference.wolfram.com/mathematica/ref/ConstantArray.html

+1

Tôi đã thử nghiệm với các danh sách trong Mathematica trong một thời gian dài, và tôi nghĩ rằng hiệu quả của 'ConstantArray' trên' Bảng' xuất phát từ nó có thể tính toán trước và phân bổ kích thước của danh sách. Vì 'Bảng' không thể luôn làm điều đó, nó phải phân bổ khi nó đi. – rcollyer

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