Thay vì cung cấp cho bạn một danh sách đầy đủ về sự khác biệt, tôi sẽ cung cấp cho bạn quan điểm của tôi về vấn đề này.
Nếu bạn đọc kỹ trang wiki bạn cung cấp, bạn sẽ thường thấy các câu như "Octave hỗ trợ cả hai, trong khi MATLAB yêu cầu đầu tiên", v.v. Điều này cho thấy các nhà phát triển của Octave cố gắng tạo cú pháp Octave "vượt trội" so với MATLAB.
Thái độ này khiến Octave mất hoàn toàn mục đích. Ý tưởng đằng sau Octave là (hoặc đã trở thành , tôi nên nói, xem các bình luận bên dưới) để có một sự thay thế nguồn mở để chạy mã m. Nếu nó cố gắng trở nên "tốt hơn", thì nó sẽ cố gắng trở nên khác biệt , điều này không phù hợp với lý do hầu hết mọi người sử dụng nó. Theo kinh nghiệm của tôi, công cụ chạy được phát triển trong MATLAB không bao giờ hoạt động một lần, ngoại trừ công cụ thực sự đơn giản, thực sự ngắn - Đối với bất kỳ chức năng khá lớn nào, tôi luôn phải dịch rất nhiều nội dung trước khi nó hoạt động trong Octave, nếu không viết lại từ đầu. Làm thế nào điều này là tốt hơn , tôi thực sự không thấy ...
Ngoài ra, nếu bạn học Octave, có rất nhiều cú pháp được phép trong Octave không được phép trong MATLAB. Ý nghĩa - mã được viết bằng Octave thường không hoạt động trong MATLAB mà không có nhiều chuyển đổi. Nó cũng không tương thích theo cách khác!
Tôi có thể tiếp tục: MathWorks có nhiều hộp công cụ cho MATLAB, có Simulink và các sản phẩm liên quan của nó mà thực sự không có tương đương trong Octave (vâng, bạn phải trả tiền cho tất cả điều đó. Nhưng thường thì chủ nhân / trường học của bạn vẫn làm điều đó và tốt, ít nhất là nó tồn tại ), đã được chứng minh tuân thủ một số tiêu chuẩn ngành, công cụ kiểm tra, công cụ xác nhận, hệ thống quản lý yêu cầu, tạo báo cáo, cộng đồng và cơ sở người dùng lớn hơn nhiều, v.v. vv MATLAB chỉ là một phần nhỏ của một cái gì đó lớn hơn nhiều. Octave là ... chỉ là Octave.
Vì vậy, lời khuyên của tôi:
- Tìm hiểu xem trường học của bạn sẽ trả tiền cho MATLAB. Thường thì họ sẽ làm.
- Nếu họ không và nếu bạn có thể kiếm được tiền, hãy mua MATLAB và học cách sử dụng nó đúng cách. Về lâu dài, đó là quyết định tốt hơn.
- Nếu bạn thực sự không thể nhận được tiền - hãy sử dụng Octave, nhưng học cú pháp của MATLAB và tránh xa cú pháp chỉ của Octave. (xem chú thích)
Tại sao điểm cuối cùng này? Bởi vì trong các ngành khoa học, thường có các cơ sở mã lớn được viết hoàn toàn bằng MATLAB. Có các giáo sư, kỹ sư, sinh viên, lập trình viên chuyên nghiệp, rất nhiều người biết tất cả các chi tiết phức tạp của MATLAB, và không nhiều về Octave.
Nếu bạn nhận được một công việc mới và mọi người trong văn phòng mới của bạn đều nói tiếng Tây Ban Nha, thì thật khó để yêu cầu mọi người rằng họ bắt đầu nói tiếng Anh từ đó, đơn giản vì bạn không nói / thích tiếng Tây Ban Nha. Tương tự với MATLAB và Octave.
NB - nếu tất cả downvoters chỉ có thể để lại nhận xét với lập luận và lý do họ không đồng ý với tôi, mà muốn được :) lớn
Lưu ý: Octave có thể được chạy trong "chế độ truyền thống" (bằng cách bao gồm cờ --traditable khi bắt đầu Octave) khiến nó bị lỗi khi sử dụng cú pháp chỉ Octave nhất định.