So sánh Octave, Spyder, Freemat và Scilab là những lựa chọn thay thế cho MATLAB


20

Tôi đang cố gắng tìm một giải pháp thay thế cho MATLAB và cho đến nay đã tìm thấy:

  • GNU Octave
  • Gián điệp
  • FreeMat
  • Scilab

Tôi đang cố gắng tìm ra cái nào thay thế tốt nhất cho MATLAB. Tôi đặc biệt quan tâm đến hiệu suất và tính toàn vẹn của kết quả.


1
Bạn cũng nên xem xét R. Câu hỏi này trên StackOverflow có lẽ có sự so sánh tốt nhất
Oli

IPython bị mất tích
zetah

Câu trả lời:


10

Vâng, bạn đang ở trong một điều trị Tôi đã sử dụng tất cả các ngôn ngữ / phần mềm lập trình mà bạn đề cập. FreeMat và Spyder Tôi không có quá nhiều kinh nghiệm nhưng tôi có một số. Những người khác tôi có kinh nghiệm trong.

GNU Octave đến nay đã cạnh tranh với đối thủ. Cú pháp của nó có khả năng tương thích cực cao với MATLAB . Sự khác biệt duy nhất, tôi nhận thấy ít nhất, ngoài hộp công cụ kỳ lạ mà bạn có thể cố gắng thay thế bằng các gói ở đây là GNU Octave có thể định nghĩa các hàm từ dòng lệnh.

Tôi không biết nếu bạn biết về QtOctave . QtOctave là một frontend (GUI) cho ngôn ngữ lập trình GNU Octave. QtOctave cũng đi kèm với một trình soạn thảo.

Scilab là một sự thay thế đầy đủ cho MATLAB. Nó có một số khác biệt về mặt cú pháp nhưng không có gì bạn không thể hiểu được nếu bạn tìm kiếm tài liệu đi kèm với nó.

FreeMat là điều tồi tệ nhất, theo tôi ít nhất, về phần mềm mà cú pháp chủ yếu dựa trên MATLAB. Bằng chứng của tôi cho điều này là ba phần: thứ nhất, trong trung tâm phần mềm, nó nhận được xếp hạng sao thấp nhất trong bốn phần mềm được đề cập. Thứ hai, nó không được cập nhật thường xuyên, phiên bản mới nhất trong trung tâm phần mềm, được cập nhật lần cuối năm 2008. Thứ ba là kết quả của bằng chứng thứ hai của tôi về chức năng của nó có phần bị chậm trễ. Tuy nhiên, mặt tích cực là cú pháp của nó tương thích cao với MATLAB.

Tôi đã sử dụng Spyder , nhưng chỉ một thời gian ngắn tôi sợ. Có vẻ như chất lượng hàng đầu. Vấn đề với nó là nó chỉ có khả năng tương thích hạn chế với MATLAB, cú pháp khôn ngoan. Nó đòi hỏi bạn phải học một số ngôn ngữ lập trình Python, nghĩa là, nếu bạn có kế hoạch làm tốt nó.

Tôi cũng muốn giới thiệu SageMath vì nó bao gồm GNU Octave, (nếu nó đã được cài đặt trên hệ thống của bạn) Scilab, (nếu bạn đã cài đặt nó) Numpy, [Numpy và phần còn lại được đề cập trừ khi có quy định khác đi kèm với Sage và do đó không cần cài đặt ] Scipy, Matplotlib, maxima, fortran trong số nhiều người khác. SageMath có thể được tải xuống bằng cách truy cập trang web http://www.sagemath.org/doad-linux.html và chọn một máy nhân bản phù hợp, dựa trên vị trí của bạn và sau đó cài đặt tệp .tar.lzma có liên quan. Sau khi sao chép này và dán các lệnh sau vào terminal (ctrl + alt + T):

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

Trong đó 'x' chỉ các bit của HĐH của bạn; 'y' dùng để chỉ phiên bản Ubuntu, hiền nhân được thiết kế cho (ví dụ: 10.04_lts; 12.04_lts (_lts là bắt buộc trong 'y'), v.v.); 'Z' dùng để chỉ kiến ​​trúc của hệ điều hành của bạn. (i386, amd64, v.v.)


2

Trong số tất cả những cái bạn đã liệt kê Octave là tương thích cú pháp nhất. Trên thực tế, ngoài một số hộp công cụ Matlab đắt tiền, Octave nên chạy 98% (một số tôi vừa tạo) mã của bạn. Tôi sử dụng Matlab tại nơi làm việc và Octave ở nhà.

Octave sẽ không chạy (về cơ bản) một số GUI sẵn có như inputdlg, v.v., nếu bạn cài đặt Qtoctave (một IDE cho Octave, sudo apt-get install qtoctave ), bạn có thể sử dụng xmlwidget và trình bao bọc để có được chức năng đó bạn có hứng thú).

Liên quan đến hiệu suất, Octave không nhanh như vậy (google cho điểm chuẩn). Tuy nhiên, bạn có thể có được tất cả các phiên bản Matlab hiện đại chạy trên Linux (nếu bạn có giấy phép) và chúng được bao gồm trên đĩa cài đặt theo mặc định và hiệu năng của phiên bản Matlab của Linux cũng tốt và thường tốt hơn trên Linux khi so sánh với Các cửa sổ.

Nếu bạn muốn hiệu suất và bạn sẽ không sử dụng phần mềm miễn phí tốt nhất để xem xét scipy. Nhưng cú pháp ít tương thích. Bạn sẽ cần phải viết lại mã của bạn. Spyder là một ide sử dụng python và scipy, scilab là sự kết hợp giữa quãng tám và cực đại và một vài thứ khác. Không chắc chắn về hiệu suất của freemat nhưng tôi không nghĩ nó được phát triển như Octave.

Chúc may mắn.

Một vài điểm chuẩn

tốc độ

http://www.osc.edu/research/cse/projects/octave_python.pdf

http://www.wseas.us/e-l Library / con số 2010 / Corfu / COMPUTERS / COMPUTERS2-56.pdf

Hãy nhớ điểm chuẩn là chủ quan. Có nhiều biến số. Cách thực sự duy nhất để biết là kiểm tra tất cả chúng trên giàn khoan của bạn bằng cách sử dụng mã xử lý của bạn.


Nếu ai đó làm google và tìm điểm chuẩn tốt cho Octave so với Matlab, có lẽ thông tin chi tiết hoặc liên kết có thể được chỉnh sửa thành câu trả lời này.
Eliah Kagan

1

Chỉ để làm rõ: Tại sao bạn muốn một sự thay thế cho Matlab? Câu trả lời của prasadkumar013 cho thấy bạn không thể sử dụng Matlab trên Ubuntu, nhưng bạn có thể (ít nhất là tôi đang chạy nó trên Ubuntu;)). Có một tài liệu cộng đồng trên trang https://help.ubfox.com/community/MATLAB .

Trong trường hợp bạn muốn có một sự thay thế miễn phí với octave, hầu hết các mã MATLAB sẽ hoạt động trực tiếp trong quãng tám. Mặc dù vậy, hãy thử làm việc trong thiết bị đầu cuối, theo quan điểm của tôi, GUI qtoctave không thân thiện với người dùng.


1

Tương tự nhất với MATLAB = Octave , (liên kết đến gui)
Một ngôn ngữ tính toán cấp cao sắp tới tuyệt vời = julia
Nhưng yêu thích của tôi và IMHO hữu ích nhất xung quanh ngôn ngữ, PYTHON (scipy, sage, cython ...)


0

http://pdl.perl.org/

PDL ("Ngôn ngữ dữ liệu Perl") cung cấp cho Perl tiêu chuẩn khả năng lưu trữ gọn gàng và thao tác nhanh chóng các mảng dữ liệu N chiều lớn là bánh mì và bơ của máy tính khoa học.


0

Bạn đã thử Sage ( www.sagemath.org ) chưa? Nó là một thùng chứa cho các phần mềm toán học khác nhau và nó có thể thực hiện các phép tính tượng trưng và số. Những cái sau được thực hiện bằng cách sử dụng numpy và scipy. Nó có một cộng đồng rất tích cực và đó là một dự án nguồn mở được viết bằng python.

Vì bạn quan tâm đến các buổi biểu diễn, ở đây có một số điểm chuẩn (ở cuối trang cũng so sánh với Matlab).


0

Đây là giấy tốt.

Nó có giải thích ngắn gọn và các bài kiểm tra khác nhau được thực hiện.

BTW Tôi không sử dụng MATLAB hoặc bất cứ thứ gì tương tự.


-1

Tôi chưa thực hiện một so sánh thực tế nhưng theo kinh nghiệm của tôi hoàn toàn hình thành một phối cảnh hiệu suất thì quãng tám tốt hơn MATLAB.

Bạn nên lưu ý rằng "tất cả đều tương đối" các hộp công cụ khác nhau có hiệu suất khác nhau.

Nếu bạn có RAM hạn chế trên máy, tôi sẽ nói mọi thứ sẽ hoạt động tốt hơn MATLAB.


-2

Trường đại học của tôi sử dụng MATLAB trên PC Windows của họ. Nhưng để sử dụng MATLAB trên Ubuntu, tôi đã có hai lựa chọn

  1. Cài đặt MATLAB qua rượu hoặc bất kỳ phần mềm ảo hóa nào
  2. Tìm một tương đương Linux

Vì ảo hóa rất nặng trên máy tính xách tay của tôi, tôi đã tìm kiếm một giải pháp thay thế. Sau nhiều thử nghiệm phần mềm, cuối cùng tôi đã giải quyết được OCTAVE. Nó có thể chạy hầu hết các mã MATLAB tiêu chuẩn. Thay vì GNU Octave, tốt hơn là nên dùng qt Octave. Trong khi cái trước là thiết bị đầu cuối, cái sau là dựa trên GUI. Lựa chọn của tôi là đi cho qt Octave

sudo apt-get install qtoctave


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.