Gói phần mềm Matlab. Mô tả chương trình Matlab

). Trong số các công cụ đa năng được sử dụng trong hóa học, gói MatLab chiếm một vị trí đặc biệt. Mức độ nổi tiếng của anh ấy cao bất thường. Điều này là do MatLab mạnh mẽ và linh hoạt để xử lý dữ liệu đa chiều. Chính cấu trúc của gói làm cho nó trở thành một công cụ thuận tiện để thực hiện các phép tính ma trận. Một loạt các vấn đề có thể được nghiên cứu bằng MatLab bao gồm: phân tích ma trận, xử lý tín hiệu và hình ảnh, mạng lưới thần kinh và nhiều vấn đề khác. MatLab là một ngôn ngữ cấp cao có mã nguồn mở, cho phép người dùng có kinh nghiệm hiểu các thuật toán được lập trình. Ngôn ngữ lập trình tích hợp đơn giản giúp bạn dễ dàng tạo các thuật toán của riêng mình. Qua nhiều năm sử dụng MatLab, một số lượng lớn các hàm và ToolBox (gói công cụ chuyên dụng) đã được tạo ra. Phổ biến nhất là gói PLS ToolBox của Eigenvector Research, Inc.

1. Thông tin cơ bản

1.1. Môi trường làm việc MatLab

Để khởi chạy chương trình, nhấp đúp vào biểu tượng. Môi trường làm việc như trong hình sẽ mở ra trước mắt bạn.

Môi trường làm việc MatLab 6.x hơi khác so với không gian làm việc của các phiên bản trước, nó có giao diện thuận tiện hơn để truy cập nhiều thành phần hỗ trợ

Môi trường làm việc MatLab 6.x chứa các yếu tố sau:

    thanh công cụ với các nút và danh sách thả xuống;

    cửa sổ với các tab Launch Pad và Không gian làm việc, từ đó bạn có thể truy cập mô-đun khác nhau ToolBox và nội dung của môi trường làm việc;

    cửa sổ theo thẻ Lịch sử lệnhThư mục hiện tại, nhằm mục đích xem và gọi lại các lệnh đã nhập trước đó, cũng như để thiết lập thư mục hiện tại;

    một cửa sổ lệnh chứa dấu nhắc "đầu vào" và con trỏ dọc nhấp nháy;

    thanh trạng thái.

Nếu trong môi trường làm việc MatLab 6.x Nếu thiếu một số cửa sổ hiển thị trong hình, bạn nên chọn các mục thích hợp trong menu Xem: Cửa sổ lệnh, Lịch sử lệnh , Thư mục hiện tại , Không gian làm việc , Launch Pad .

Các lệnh nên được gõ trong cửa sổ lệnh. Ký hiệu » , biểu thị dấu nhắc dòng lệnh, không cần phải gõ. Xem không gian làm việc thuận tiện để sử dụng thanh cuộn hoặc Phím Home, End , để di chuyển sang trái hoặc phải và PageUp , PageDown để di chuyển lên hoặc xuống. Nếu đột nhiên sau khi di chuyển xung quanh vùng làm việc của cửa sổ lệnh, dòng lệnh có con trỏ nhấp nháy biến mất, bạn chỉ cần nhấn Enter.

Điều quan trọng cần nhớ là việc gõ bất kỳ lệnh hoặc biểu thức nào phải kết thúc bằng việc nhấn Enter để MatLab thực thi lệnh đó hoặc đánh giá biểu thức đó.

1.2. Tính toán đơn giản

Nhập 1+2 vào dòng lệnh và nhấn Enter. Kết quả cửa sổ lệnh MatLab hiển thị như sau:

Cơm. 2 Biểu diễn đồ họa của phân tích thành phần chính

Chương trình MatLab đã làm gì? Đầu tiên, cô tính tổng 1+2, sau đó ghi kết quả vào một biến đặc biệt ans và hiển thị giá trị của nó bằng 3 trong cửa sổ lệnh. Bên dưới phản hồi là dòng lệnh có con trỏ nhấp nháy, cho biết MatLab đã sẵn sàng cho các phép tính tiếp theo. Bạn có thể gõ các biểu thức mới trên dòng lệnh và tìm ý nghĩa của chúng. Nếu bạn cần tiếp tục làm việc với biểu thức trước đó, chẳng hạn như tính (1+2)/4.5, thì cách dễ nhất là sử dụng kết quả hiện có, được lưu trong biến ans. Gõ ans/4.5 (khi nhập số thập phân dấu chấm được sử dụng) và nhấn Đi vào, hóa ra

Cơm. 3 Biểu diễn đồ họa của phân tích thành phần chính

1.3. Lệnh vang vọng

Việc thực thi mỗi lệnh trong MatLab đều kèm theo tiếng vang. Trong ví dụ trên, câu trả lời là ans = 0,6667. Thường thì tiếng vang khiến bạn khó nhận biết hoạt động của chương trình và sau đó có thể tắt nó đi. Để thực hiện việc này, lệnh phải kết thúc bằng dấu chấm phẩy. Ví dụ

Cơm. 4 Ví dụ nhập hàm ScoresPCA

1.4. Bảo vệ môi trường làm việc. tập tin MAT

Cách dễ nhất để lưu tất cả các giá trị biến là sử dụng tùy chọn Save Workspace As trong menu File. Thao tác này sẽ mở hộp thoại Lưu biến không gian làm việc, trong đó bạn phải chỉ định tên thư mục và tệp. Theo mặc định, nên lưu tệp vào thư mục con công việc của thư mục MatLab chính. Chương trình sẽ lưu kết quả công việc của mình vào một tệp có phần mở rộng. Bây giờ bạn có thể đóng MatLab. Trong phiên làm việc tiếp theo, để khôi phục giá trị của các biến, bạn nên mở tệp đã lưu này bằng cách sử dụng mục con Mở của menu Tệp. Bây giờ tất cả các biến được xác định trong phiên trước đều có sẵn. Chúng có thể được sử dụng trong các lệnh mới được nhập.

1.5. Tạp chí

MatLab có khả năng ghi các lệnh thực thi và kết quả vào một tệp văn bản (lưu nhật ký công việc), sau đó có thể đọc hoặc in từ trình soạn thảo văn bản. Để bắt đầu ghi nhật ký, hãy sử dụng lệnh Nhật ký. Là một đối số lệnh Nhật ký bạn nên chỉ định tên của tệp mà nhật ký công việc sẽ được lưu trữ. Các lệnh được gõ thêm và kết quả thực hiện của chúng sẽ được ghi vào tệp này, ví dụ như một chuỗi lệnh

thực hiện các hành động sau:

    mở nhật ký trong tệp examplel-1.txt;

    thực hiện các phép tính;

    lưu tất cả các biến trong tệp MAT work-1.mat ;

    lưu nhật ký trong tệp Exampl-1.txt trong thư mục con công việc của thư mục gốc MatLab và đóng MatLab;

Xem nội dung của file examplel-1.txt ở một số chỗ soạn thảo văn bản. Tệp sẽ chứa văn bản sau:

a1=3;
a2=2,5;
a3=a1+a2

Lưu công việc-1
từ bỏ

1.6. Hệ thống trợ giúp

Cửa sổ Trợ giúp MatLab xuất hiện sau khi chọn tùy chọn Cửa sổ Trợ giúp từ trình đơn Trợ giúp hoặc bằng cách nhấp vào nút câu hỏi trên thanh công cụ. Hoạt động tương tự có thể được thực hiện bằng cách gõ lệnh giúp đỡ. Để hiển thị cửa sổ trợ giúp cho từng chủ đề, hãy nhập chủ đề giúp đỡ. Cửa sổ trợ giúp cung cấp cho bạn thông tin tương tự như lệnh trợ giúp, nhưng giao diện cửa sổ cung cấp nhiều thông tin hơn. giao tiếp thuận tiện với các chủ đề trợ giúp khác. Bằng cách sử dụng địa chỉ của trang Web Math Works, bạn có thể truy cập vào máy chủ của công ty và tận dụng tối đa thông tin mới nhất cho những câu hỏi mà bạn quan tâm. Bạn có thể kiểm tra các sản phẩm phần mềm mới hoặc tìm câu trả lời cho vấn đề của mình trên trang hỗ trợ kỹ thuật.

2. Ma trận

2.1. Vô hướng, vectơ và ma trận

Trong MatLab bạn có thể sử dụng đại lượng vô hướng, vectơ và ma trận. Để nhập một đại lượng vô hướng, chỉ cần gán giá trị của nó cho một biến nào đó là đủ, chẳng hạn

Lưu ý rằng MatLab phân biệt giữa chữ hoa và chữ in hoa, do đó p và P là các biến khác nhau. Để nhập mảng (vectơ hoặc ma trận), các phần tử của chúng được đặt trong dấu ngoặc vuông. Vì vậy, để nhập vectơ hàng 1x3, hãy sử dụng lệnh sau, trong đó các thành phần hàng được phân tách bằng dấu cách hoặc dấu phẩy.

Khi nhập một vectơ cột, các phần tử được phân tách bằng dấu chấm phẩy. Ví dụ,

Thật thuận tiện khi nhập các ma trận nhỏ trực tiếp từ dòng lệnh. Trong đầu vào, ma trận có thể được coi là một vectơ cột, mỗi phần tử của ma trận là một vectơ hàng.

hoặc một ma trận có thể được coi là một vectơ hàng, mỗi phần tử của nó là một vectơ cột.

2.2. Truy cập các phần tử

Việc truy cập vào các phần tử ma trận được thực hiện bằng cách sử dụng hai chỉ số - số hàng và số cột được bao trong dấu ngoặc tròn, ví dụ lệnh B(2,3) sẽ ra phần tử ở hàng thứ hai và cột thứ ba của ma trận B. Để chọn một cột hoặc hàng từ ma trận, hãy sử dụng số cột hoặc hàng của ma trận làm một trong các chỉ mục và thay thế chỉ mục kia bằng dấu hai chấm. Ví dụ: viết hàng thứ hai của ma trận A vào vectơ z

Bạn cũng có thể chọn khối ma trận bằng dấu hai chấm. Ví dụ: hãy chọn từ ma trận P một khối được đánh dấu bằng màu

Nếu bạn cần xem các biến môi trường làm việc, bạn cần gõ lệnh trên dòng lệnh ai .

Có thể thấy rằng môi trường làm việc chứa một ma trận vô hướng (p), bốn ma trận (A, B, P, P1) và một vectơ hàng (z).

2.3. Các phép toán ma trận cơ bản

Khi sử dụng các phép toán ma trận, hãy nhớ rằng để cộng hoặc trừ, các ma trận phải có cùng kích thước và khi nhân, số cột của ma trận thứ nhất phải bằng số hàng của ma trận thứ hai. Phép cộng và trừ ma trận, cũng như số và vectơ, được thực hiện bằng dấu cộng và dấu trừ

và phép nhân được đánh dấu bằng dấu hoa thị *. Hãy để chúng tôi giới thiệu một ma trận có kích thước 3 × 2

Nhân ma trận với một số cũng được thực hiện bằng cách sử dụng dấu hoa thị và bạn có thể nhân với một số ở cả bên phải và bên trái. Việc nâng ma trận vuông lên lũy thừa số nguyên được thực hiện bằng toán tử ^

Kiểm tra kết quả bằng cách nhân ma trận P với chính nó.

2.4. Tạo ma trận thuộc loại đặc biệt

Việc điền các số 0 vào ma trận hình chữ nhật được thực hiện bằng hàm tích hợp số không

Ma trận nhận dạng được tạo bằng hàm mắt

Một ma trận bao gồm các ma trận được hình thành nhờ việc gọi hàm những cái

MatLab cung cấp khả năng điền ma trận bằng các số ngẫu nhiên. Kết quả hàm rand là một ma trận các số phân bố đều giữa 0 và 1 và các hàm randn- một ma trận các số được phân bố theo quy luật chuẩn với giá trị trung bình bằng 0 và phương sai đơn vị.

Chức năng chẩn đoán tạo thành một ma trận đường chéo từ một vectơ, sắp xếp các phần tử dọc theo đường chéo.

2.5. Tính toán ma trận

MatLab chứa nhiều các chức năng khác nhauđể làm việc với ma trận. Vì vậy, ví dụ, việc hoán vị ma trận được thực hiện bằng cách sử dụng dấu nháy đơn "

Phát hiện ma trận nghịch đảođược thực hiện bằng cách sử dụng hàm mời cho ma trận vuông

3. Tích hợp MatLab và Excel

Việc tích hợp MatLab và Excel cho phép người dùng Excel truy cập nhiều chức năng MatLab để xử lý dữ liệu, các phép tính khác nhau và trực quan hóa kết quả. Tiện ích bổ sung excllink.xla phần mở rộng này Khả năng của Excel. Các chức năng đặc biệt được xác định để liên lạc giữa MatLab và Excel.

3.1. Cấu hình Excel

Trước khi thiết lập Excel để làm việc cùng với MatLab, bạn nên đảm bảo rằng Excel Link được bao gồm trong phiên bản đã cài đặt MatLab. Trong thư mục con exclink của thư mục MatLab chính hoặc thư mục con hộp công cụ sẽ có một tệp có bổ trợ excllink.xla. Khởi chạy Excel và chọn Bổ trợ từ menu Công cụ. Một hộp thoại sẽ mở ra chứa thông tin về các khoảnh khắc này kiến trúc thượng tầng Sử dụng nút Duyệt, chỉ định đường dẫn đến tệp excllink.xla. Trong danh sách tiện ích bổ sung hộp thoại dòng sẽ xuất hiện Excel Link 2.0 để sử dụng với MatLab với lá cờ được đặt. Nhấn OK, add-in cần thiết đã được thêm vào Excel.

Xin lưu ý rằng Excel hiện có thanh công cụ Excel Link chứa ba nút: putmatrix, getmatrix, evalstring. Các nút này thực hiện các hành động cơ bản cần thiết để thực hiện mối quan hệ giữa Excel và MatLab - trao đổi dữ liệu ma trận và thực thi các lệnh MatLab từ môi trường Excel. Khi Excel được khởi chạy lại, phần bổ trợ excllink.xla sẽ tự động được kết nối.

Đã đồng ý công việc Excel và MatLab yêu cầu thêm một số cài đặt, được chấp nhận theo mặc định trong Excel (nhưng có thể thay đổi). Trong menu Công cụ, đi tới Tùy chọn, thao tác này sẽ mở hộp thoại Tùy chọn. Chọn tab Chung và đảm bảo rằng cờ kiểu tham chiếu R1C1 đã bị tắt, tức là. các ô được đánh số A1, A2, v.v. Trên tab Chỉnh sửa, phải đặt cờ Di chuyển lựa chọn sau Enter.

3.2. Trao đổi dữ liệu giữa MatLab và Excel

Khởi chạy Excel và kiểm tra xem mọi thứ đã được thực hiện chưa cài đặt cần thiết như đã mô tả ở phần trước (MatLab phải được đóng lại). Nhập ma trận vào các ô từ A1 đến C3, sử dụng dấu chấm để phân tách các vị trí thập phân theo yêu cầu của Excel.

Chọn dữ liệu ô trên sheet rồi nhấn nút putmatrix, cửa sổ Excel xuất hiện kèm theo cảnh báo MatLab không chạy. Nhấn OK, đợi MatLab mở.

Một hộp thoại Excel xuất hiện với dòng đầu vào được thiết kế để chỉ định tên của biến môi trường làm việc MatLab mà bạn sẽ xuất dữ liệu từ môi trường đã chọn. Ô Excel. Ví dụ: nhập M và đóng cửa sổ bằng nút OK. Chuyển sang cửa sổ lệnh MatLab và đảm bảo rằng biến M được tạo trong bàn làm việc chứa mảng ba nhân ba:

Thực hiện một số thao tác trong MatLab với ma trận M, ví dụ như đảo ngược nó.

Gọi mờiĐể đảo ngược ma trận, giống như bất kỳ lệnh MatLab nào khác, bạn có thể thực hiện trực tiếp từ Excel. Nhấp vào nút evalstring nằm trên bảng Excel Link sẽ xuất hiện hộp thoại, trong dòng nhập bạn nên gõ lệnh MatLab

IM=inv(M) .

Kết quả thu được tương tự khi thực hiện lệnh trên môi trường MatLab.

Quay lại Excel, biến ô A5 thành ô hiện tại và nhấp vào nút getmatrix. Xuất hiện hộp thoại có dòng nhập yêu cầu bạn nhập tên biến cần nhập vào Excel. TRONG trong trường hợp này một biến như vậy là IM. Bấm OK, các ô từ A5 đến A7 đã nhập các phần tử ma trận nghịch đảo.

Vì vậy, để xuất ma trận sang MatLab bạn nên chọn tế bào phù hợp bảng tính Excel và để nhập, chỉ cần chỉ định một ô, ô này sẽ là phần tử phía trên bên trái của mảng đã nhập. Các phần tử còn lại sẽ được ghi vào các ô của trang tính theo kích thước của mảng, ghi đè lên dữ liệu chứa trong đó nên bạn nên cẩn thận khi nhập mảng.

Cách tiếp cận trên là cách đơn giản nhất để trao đổi thông tin giữa các ứng dụng - dữ liệu nguồn được chứa trong Excel, sau đó được xuất sang MatLab, được xử lý ở đó theo một cách nào đó và kết quả được nhập vào Excel. Người dùng chuyển dữ liệu bằng các nút thanh công cụ Excel Link. Thông tin có thể được trình bày dưới dạng ma trận, tức là diện tích hình chữ nhật của bảng tính. Các ô được sắp xếp trong một hàng hoặc cột được xuất tương ứng sang vectơ hàng và vectơ cột trong MatLab. Việc nhập vectơ hàng và vectơ cột vào Excel diễn ra theo cách tương tự.

4. Lập trình

4.1. Tệp M

Làm việc từ dòng lệnh MatLab trở nên khó khăn nếu bạn cần nhập nhiều lệnh và thay đổi chúng thường xuyên. Viết nhật ký bằng lệnh Nhật ký và duy trì môi trường làm việc giúp công việc dễ dàng hơn một chút. nhất một cách thuận tiện việc thực thi các nhóm lệnh MatLab là việc sử dụng các tệp M, trong đó bạn có thể nhập các lệnh, thực thi tất cả chúng cùng một lúc hoặc từng phần, lưu chúng vào một tệp và sử dụng chúng sau này. Trình chỉnh sửa M-file được thiết kế để hoạt động với M-files. Với sự trợ giúp của nó, bạn có thể tạo các hàm của riêng mình và gọi chúng, kể cả từ cửa sổ lệnh.

Mở rộng menu Tệp của cửa sổ MatLab chính và trong mục Mới, chọn mục con M-file. Tệp mới sẽ mở trong cửa sổ soạn thảo M-file, được hiển thị trong hình.

Có hai loại M-file trong MatLab: file chương trình ( Tập lệnh M), chứa một chuỗi lệnh và các hàm tệp, ( Chức năng M-Files), mô tả các hàm do người dùng định nghĩa.

4.2. Chương trình tập tin

Quay số biên tập nhóm, dẫn đến việc xây dựng hai đồ thị trên một cửa sổ đồ họa

Bây giờ hãy lưu tệp có tên mydemo.m trong thư mục con công việc của thư mục MatLab chính bằng cách chọn Lưu dưới dạng từ menu Tệp của trình chỉnh sửa. Để chạy tất cả các lệnh có trong tệp, chọn Chạy từ menu Gỡ lỗi. Một cửa sổ đồ họa sẽ xuất hiện trên màn hình Hình 1, chứa đồ thị của hàm số.

Lệnh chương trình tập tin xuất ra cửa sổ lệnh. Để chặn đầu ra, bạn phải kết thúc lệnh bằng dấu chấm phẩy. Nếu xảy ra lỗi khi gõ và MatLab không thể nhận dạng lệnh, thì các lệnh cho đến lệnh nhập sai sẽ được thực thi, sau đó thông báo lỗi sẽ hiển thị trong cửa sổ lệnh.

Một tính năng rất tiện lợi được cung cấp bởi trình soạn thảo M-file là thực thi một số lệnh. Đóng cửa sổ đồ họa Hình 1. Chọn bằng chuột trong khi giữ nút trái, hoặc các phím mũi tên trong khi giữ phím Sự thay đổi, bốn lệnh đầu tiên và thực thi chúng từ mục Văn bản. Xin lưu ý rằng chỉ có một biểu đồ được hiển thị trong cửa sổ đồ họa, tương ứng với các lệnh được thực thi. Hãy nhớ rằng để thực thi một số lệnh, hãy chọn chúng và nhấn phím F9.

Các khối riêng lẻ của tệp M có thể được cung cấp các chú thích, được bỏ qua trong quá trình thực thi nhưng thuận tiện khi làm việc với tệp M. Nhận xét bắt đầu bằng dấu phần trăm và tự động được đánh dấu bằng màu xanh lục, ví dụ:

Khai mạc tập tin M hiện cóđược thực hiện bằng cách sử dụng mục menu Mở Tệp của môi trường làm việc hoặc trình chỉnh sửa tệp M.

4.3. Chức năng tập tin

Chương trình tệp được thảo luận ở trên chỉ là một chuỗi các lệnh MatLab; nó không có đối số đầu vào hoặc đầu ra. Để sử dụng các phương pháp số và khi lập trình các ứng dụng của riêng bạn trong MatLab, bạn phải có khả năng tạo các hàm tệp thực hiện các hành động cần thiết với các đối số đầu vào và trả về kết quả của hành động đó trong các đối số đầu ra. Hãy xem một vài ví dụ đơn giản để giúp bạn hiểu cách làm việc với các hàm tệp.

Khi xử lý trước dữ liệu từ phân tích hóa học đa biến, phương pháp định tâm thường được sử dụng. Sẽ rất hợp lý khi viết hàm tệp một lần, sau đó gọi nó ở bất cứ nơi nào cần thực hiện việc căn giữa. Mở một tập tin mới trong trình soạn thảo M-file và gõ

Từ hàm ở dòng đầu tiên chỉ định rằng tệp này có chứa tệp hàm. Dòng đầu tiên là tiêu đề hàm, chứa tên hàm và danh sách các đối số đầu vào và đầu ra. Trong ví dụ, tên hàm là centering, một đối số đầu vào là X và một đối số đầu ra là Xc. Tiếp theo tiêu đề là các nhận xét và sau đó là phần nội dung của hàm (trong ví dụ này nó bao gồm hai dòng), trong đó giá trị của nó được tính toán. Điều quan trọng là giá trị tính toán được ghi vào Xc. Đừng quên bao gồm dấu chấm phẩy để ngăn thông tin không cần thiết hiển thị trên màn hình. Bây giờ hãy lưu tập tin vào thư mục làm việc của bạn. Xin lưu ý rằng việc chọn Lưu hoặc Lưu dưới dạng từ menu Tệp sẽ dẫn đến hộp thoại Lưu Tệp xuất hiện, với trường Tên tệp đã chứa tên ở giữa. Đừng thay đổi nó, hãy lưu tệp chức năng vào một tệp có tên gợi ý!

Bây giờ, hàm đã tạo có thể được sử dụng theo cách tương tự như hàm sin, cos và các hàm khác có sẵn. Các hàm riêng có thể được gọi từ một chương trình tệp và từ một hàm tệp khác. Cố gắng tự viết một hàm tệp sẽ chia tỷ lệ ma trận, tức là chia mỗi cột cho độ lệch chuẩn của cột đó.

Bạn có thể viết một tệp hàm với một số đối số đầu vào được đặt trong danh sách được phân tách bằng dấu phẩy. Bạn cũng có thể tạo các hàm trả về nhiều giá trị. Để thực hiện điều này, các đối số đầu ra được thêm vào, phân tách bằng dấu phẩy, vào danh sách các đối số đầu ra và bản thân danh sách này được đặt trong dấu ngoặc vuông. Một ví dụ điển hình là hàm chuyển đổi thời gian được chỉ định tính bằng giây thành giờ, phút và giây.

Khi gọi các hàm tệp có nhiều đối số đầu ra, kết quả phải được ghi vào một vectơ có độ dài phù hợp.

4.4 Tạo biểu đồ

MatLab có rất nhiều cơ hội cho hình ảnh đồ họa vectơ và ma trận, cũng như để tạo nhận xét và in biểu đồ. Hãy để chúng tôi mô tả một số chức năng đồ họa quan trọng.

Chức năng kịch bản có nhiều dạng khác nhau được liên kết với các tham số đầu vào, ví dụ: cốt truyện (y) tạo một biểu đồ tuyến tính từng phần của các phần tử y so với các chỉ số của chúng. Nếu hai vectơ được đưa ra làm đối số, thì cốt truyện (x, y) sẽ tạo ra đồ thị của y theo x. Ví dụ: để vẽ hàm sin trong phạm vi từ 0 đến 2π, hãy làm như sau

Chương trình đã xây dựng đồ thị phụ thuộc, hiển thị trong cửa sổ Hình 1

MatLab tự động gán một màu khác nhau cho từng ô (trừ khi người dùng làm như vậy), cho phép bạn phân biệt giữa các tập dữ liệu.

Đội giữ lấy cho phép bạn thêm các đường cong vào biểu đồ hiện có. Chức năng tình tiết phụ cho phép bạn hiển thị nhiều biểu đồ trong một cửa sổ

4.5 In đồ thị

Mục In trong menu Tệp và lệnh in in đồ họa MatLab. Menu In sẽ hiển thị hộp thoại cho phép bạn chọn các tùy chọn in tiêu chuẩn phổ biến. Đội in cung cấp tính linh hoạt cao hơn ở đầu ra và cho phép kiểm soát việc in từ tập tin M. Kết quả có thể được gửi trực tiếp đến máy in mặc định hoặc được lưu trong một tệp được chỉ định.

5. Chương trình mẫu

Phần này mô tả các thuật toán được sử dụng phổ biến nhất trong phân tích dữ liệu đa chiều. Cả hai phương pháp chuyển đổi dữ liệu đơn giản nhất - định tâm và chia tỷ lệ - và các thuật toán phân tích dữ liệu - PCA, PLS - đều được xem xét.

5.1. Định tâm và chia tỷ lệ

Thông thường trong quá trình phân tích cần phải chuyển đổi dữ liệu gốc. Các phương pháp được sử dụng phổ biến nhất để chuyển đổi dữ liệu là căn giữa và chia tỷ lệ cho từng biến theo độ lệch chuẩn của nó. Mã chức năng để căn giữa ma trận đã được đưa ra. Do đó, bên dưới chỉ hiển thị mã của hàm quy mô dữ liệu. Xin lưu ý rằng ma trận ban đầu phải được căn giữa

hàm Xs = chia tỷ lệ (X)
% tỉ lệ: ma trận đầu ra là Xs
% ma trận X phải được căn giữa

Xs = X * inv(diag(std(X)));

% kết thúc chia tỷ lệ

5.2. SVD/PCA

Phương pháp nén dữ liệu phổ biến nhất trong phân tích đa biến là phân tích thành phần chính (PCA). Theo quan điểm toán học, PCA là sự phân rã của ma trận gốc X, I E. biểu diễn của nó dưới dạng tích của hai ma trậnT

X = P TP t+

E biểu diễn của nó dưới dạng tích của hai ma trận Ma trận

được gọi là ma trận điểm số (scores), ma trận là ma trận các phần dư. biểu diễn của nó dưới dạng tích của hai ma trậnT Cách đơn giản nhất để tìm ma trận - sử dụng phân tách SVD thông qua hàm MatLab tiêu chuẩn được gọi là .

svd

hàm = pcasvd(X)
Svd(X);
T=U*D;

P=V;

% kết thúc của pcasvd

5.3 PCA/NIPALS XĐể xây dựng tài khoản và tải PCA, thuật toán lặp lại NIPALS được sử dụng để tính toán một thành phần ở mỗi bước. Đầu tiên là ma trận gốc t+ 0 , được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận Một

=0. Tiếp theo, thuật toán sau được áp dụng. 2. t P =0. Tiếp theo, thuật toán sau được áp dụng. t = t+t / =0. Tiếp theo, thuật toán sau được áp dụng. t = =0. Tiếp theo, thuật toán sau được áp dụng. 3. t = t / (t t = t Một =0. Tiếp theo, thuật toán sau được áp dụng. = t+t t / t t = t) ½ 4.

5. Kiểm tra sự hội tụ, nếu không thì chuyển sang bước 2 được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận Sau khi tính tiếp theo ( =0. Tiếp theo, thuật toán sau được áp dụng.t==0. Tiếp theo, thuật toán sau được áp dụng.-th) các thành phần, chúng tôi giả sử tt=t t+ được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận+1 = t+t=0. Tiếp theo, thuật toán sau được áp dụng. t được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trậnđược chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận+1.

TRÊN X.

Mã cho thuật toán NIPALS có thể do độc giả tự viết; trong sách hướng dẫn này, các tác giả trình bày phiên bản của riêng họ. Khi tính PCA, bạn có thể nhập số thành phần chính (biến sốPC). Nếu không biết cần bao nhiêu thành phần thì bạn viết = pcanipals(X) vào dòng lệnh rồi chương trình sẽ đặt số thành phần bằng kích thước nhỏ nhất của ma trận ban đầu

hàm = pcanipals(X, numberPC)
% tính toán số lượng thành phần

= kích thước(X); P=; T=;
Nếu chiều dài(numberPC) > 0
pc = sốPC(1);< X_c
elseif (độ dài(numberPC) == 0) & X_r
pc = X_r;
khác
pc = X_c;

kết thúc;
với k = 1:pc
P1 = rand(X_c, 1); T1 = X * P1; d0 = T1"*T1;

P1 = (T1" * X/(T1" * T1))"; P1 = P1/chuẩn(P1); T1 = X * P1; d = T1" * T1;
Trong khi d - d0 > 0,0001;
P1 = (T1" * X/(T1" * T1)); P1 = P1/chuẩn(P1); T1 = X * P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1)); P1 = P1/chuẩn(P1); T1 = X * P1; d = T1"*T1;

kết thúc
P1 = (T1" * X/(T1" * T1)); P1 = P1/chuẩn(P1); T1 = X * P1; d = T1"*T1;

X = X - T1 * P1; P = cat(1, P, P1"); T = ;

Cách tính PCA bằng tiện ích bổ sung Chemometrics được mô tả trong hướng dẫn

5.4PLS1 X Phương pháp phổ biến nhất để hiệu chuẩn đa biến là phương pháp chiếu lên cấu trúc tiềm ẩn (PLS). Phương pháp này liên quan đến việc phân rã đồng thời ma trận dự đoán và ma trận đáp ứng:

X=P Y t+ và ma trận đáp ứng=t+ Y UQ biểu diễn của nó dưới dạng tích của hai ma trận=F(T t = XW) –1

W X Phép chiếu được xây dựng nhất quán - để tối đa hóa mối tương quan giữa các vectơ tương ứng =0. Tiếp theo, thuật toán sau được áp dụng.tvà ma trận đáp ứng-tài khoản -tài khoảnt bạn và ma trận đáp ứng. Nếu khối dữ liệu bao gồm nhiều phản hồi (tức là K >1), có thể xây dựng hai phép chiếu của dữ liệu ban đầu – PLS1 và PLS2. Trong trường hợp đầu tiên, với mỗi câu trả lời y k biểu diễn của nó dưới dạng tích của hai ma trận (không gian con chiếu riêng của nó được xây dựng. Đồng thời, hóa đơn bạn T (XW, ) và tải) phụ thuộc vào phản ứng nào được sử dụng. Cách tiếp cận này được gọi là PLS1. Đối với phương pháp PLS2, chỉ có một không gian chiếu được xây dựng, đây là điểm chung cho tất cả các phản hồi.

Mô tả chi tiết về phương pháp PLS được đưa ra trong cuốn sách này. Để xây dựng các tài khoản và tải PLS1, thuật toán lặp lại được sử dụng. Đầu tiên là ma trận ban đầu X-th) các thành phần, chúng tôi giả sử và ma trận đáp ứng trung tâm

= mc(X);
= mc(Y);

và chúng biến thành một ma trận t+ 0 và vectơ f 0 , được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận=0. Sau đó, thuật toán sau được áp dụng cho chúng

1. w P ft t t+ được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận 2. w = w / (w t = w) ½ 3. =0. Tiếp theo, thuật toán sau được áp dụng. = t+t w 4. q = =0. Tiếp theo, thuật toán sau được áp dụng. t = ft / =0. Tiếp theo, thuật toán sau được áp dụng. t = =0. Tiếp theo, thuật toán sau được áp dụng. 5. -tài khoản = qft / q 2 6. t P =0. Tiếp theo, thuật toán sau được áp dụng. t = t+t / =0. Tiếp theo, thuật toán sau được áp dụng. t = =0. Tiếp theo, thuật toán sau được áp dụng.

5. Kiểm tra sự hội tụ, nếu không thì chuyển sang bước 2 được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận Sau khi tính tiếp theo ( =0. Tiếp theo, thuật toán sau được áp dụng.t==0. Tiếp theo, thuật toán sau được áp dụng.-th) các thành phần, chúng tôi giả sử tt=t. Để có được thành phần tiếp theo, bạn cần tính số dư t+ được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận+1 = t+t=0. Tiếp theo, thuật toán sau được áp dụng. t t và áp dụng thuật toán tương tự cho chúng, thay thế chỉ mục được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trậnđược chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận+1.

Đây là mã cho thuật toán này được lấy từ cuốn sách

hàm = xin vui lòng (x, y)
%PLS: tính toán thành phần PLS.
% Các vectơ đầu ra là w, t, u, q và p.
%
% Chọn một vectơ từ y làm vectơ u bắt đầu.

u = y(:, 1);

% Tiêu chí hội tụ được đặt ra rất cao.
kri = 100;

% Các lệnh từ đây đến cuối được lặp lại cho đến khi hội tụ.
trong khi (kri > 1e - 10)

% Mỗi vectơ bắt đầu u được lưu dưới dạng uold.
uold = bạn; w = (u" * x)"; w = w/chuẩn mực(w);
t = x * w; q = (t" * y)"/(t" * t);
u = y * q/(q" * q);

% Tiêu chuẩn hội tụ là chuẩn của u-uold chia cho chuẩn của u.
kri = Norm(uold - u)/norm(u);
pc = X_c;

% Sau khi hội tụ, tính p.
p = (t" * x)"/(t" * t);

%Xin vui lòng kết thúc

Giới thiệu về tính toán PLS1 bằng tiện ích bổ sung Hóa họcThêm vào trongđược mô tả trong các phương pháp Chiếu thủ công trong Excel.

5.5PLS2

Đối với PLS2, thuật toán như sau. Đầu tiên là ma trận ban đầu X-th) các thành phần, chúng tôi giả sử và ma trận đáp ứng biến đổi (ít nhất - ở giữa; xem) và chúng biến thành ma trận t+ 0 và UQ 0 , được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận=0. Sau đó, thuật toán sau đây được áp dụng cho chúng.

1. Chọn vectơ ban đầu -tài khoản 2. w P -tài khoản t = t+ được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận 3. w = w / (w t = w Một =0. Tiếp theo, thuật toán sau được áp dụng. = t+t w 5. q P =0. Tiếp theo, thuật toán sau được áp dụng. t = UQt / =0. Tiếp theo, thuật toán sau được áp dụng. t = =0. Tiếp theo, thuật toán sau được áp dụng. 6. -tài khoản = UQt q/ q t = q 7. Kiểm tra sự hội tụ, nếu không thì chuyển sang câu 2 8. t P =0. Tiếp theo, thuật toán sau được áp dụng. t = t+t / =0. Tiếp theo, thuật toán sau được áp dụng. t = =0. Tiếp theo, thuật toán sau được áp dụng.

5. Kiểm tra sự hội tụ, nếu không thì chuyển sang bước 2 được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trậnồ) Cần đặt các thành phần PLS2: =0. Tiếp theo, thuật toán sau được áp dụng.t==0. Tiếp theo, thuật toán sau được áp dụng., tt=p,wt=w, -tài khoảnt=-tài khoản-th) các thành phần, chúng tôi giả sử q một = q. Để có được thành phần tiếp theo, bạn cần tính số dư t+ được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận+1 = t+tt p t và UQt +1 = UQ được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trậntq t và áp dụng thuật toán tương tự cho chúng, thay thế chỉ mục được chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trậnđược chuyển đổi (ở mức tối thiểu - căn giữa; xem) và biến thành ma trận+1.

Đây là mã, cũng được mượn từ cuốn sách.

hàm = xin vui lòng (x, y, a)
% PLS: tính toán thành phần PLS.
% Các ma trận đầu ra là W, T, U, Q và P.
% B chứa các hệ số hồi quy và SS là tổng của
% bình phương cho phần dư.
% a là số thành phần.
%
% Đối với một thành phần: sử dụng tất cả các lệnh để kết thúc.

Với i=1:a
% Tính tổng các bình phương. Hãy sử dụng hàm ss.
sx = ;
sy = ;

% Hãy sử dụng hàm để tính một thành phần.
= xin vui lòng(x, y);

% Tính số dư.
x = x - t * p";
y = y - t * q";

% Lưu các vectơ trong ma trận.
W = ;
T = ;
U = ;
Q = ;
P = ;
pc = X_c;

% Tính hệ số hồi quy sau vòng lặp.
B=W*inv(P"*W)*Q";

% Cộng SS dư cuối cùng vào tổng các vectơ bình phương.
sx=;
sy=;

% Tạo ma trận vectơ ss cho X và Y.
SS = ;

%Tính phần SS đã sử dụng.
= kích thước(SS);
tt = (SS * diag(SS(1,:).^(-1)) - cái(a, b)) * (-1)

%Kết thúc xin vui lòng

hàm số = ss(x)
%SS: tính tổng bình phương của ma trận X.
%

ss=sum(sum(x. * x));
%Cuối giây

Giới thiệu về tính toán PLS2 bằng tiện ích bổ sung Hóa họcThêm vào trongđược mô tả trong các phương pháp Chiếu thủ công trong Excel.

Phần kết luận

MatLab là một công cụ rất phổ biến để phân tích dữ liệu. Theo khảo sát, có tới 1/3 tổng số nhà nghiên cứu sử dụng nó, trong khi chương trình Unsrambler chỉ được 16% nhà khoa học sử dụng. Nhược điểm chính của MatLab là nó giá cao. Ngoài ra, MatLab còn tốt cho việc tính toán thông thường. Việc thiếu tính tương tác gây bất tiện khi thực hiện tìm kiếm, tính toán nghiên cứu các tập dữ liệu mới, chưa được khám phá.

    Các tính năng chính của góiMatlab

    Bộ công cụ trọn góiMatlab

    Cấu trúc và cửa sổ làm việc của góiMatlab

    Làm việc ở chế độ nhóm

    Các thành phần cơ bản của ngôn ngữ lập trìnhMatlab

1. Tính năng chính của gói Matlab

MATLAB(viết tắt của “Matrix Laboratory”) là gói chương trình ứng dụng giải quyết các bài toán kỹ thuật tính toán và ngôn ngữ lập trình cùng tên được sử dụng trong gói này. MATLAB được hơn 1.000.000 kỹ sư và nhà khoa học sử dụng và chạy trên hầu hết các hệ điều hành hiện đại, bao gồm Linux, Mac OS, Solaris (Solaris không còn được hỗ trợ kể từ R2010b) và Microsoft Windows.

Câu chuyện. MATLAB là ngôn ngữ lập trình được phát triển bởi Cleve Moler vào cuối những năm 1970 khi ông còn là trưởng khoa khoa học máy tính tại Đại học New Mexico. Mục tiêu của sự phát triển là mang đến cho sinh viên của khoa cơ hội sử dụng thư viện phần mềm Linpack và EISPACK mà không cần phải nghiên cứu về Fortran. Ngôn ngữ mới nhanh chóng lan rộng ra các trường đại học khác và được các nhà khoa học làm việc trong lĩnh vực toán ứng dụng đón nhận rất quan tâm. Phiên bản năm 1982 được viết bằng Fortran, được phân phối dưới dạng nguồn mở, vẫn có thể tìm thấy trên Internet. Kỹ sư John N. (Jack) Little được làm quen với ngôn ngữ này trong chuyến thăm của Cleve Mowler tới Đại học Stanford năm 1983. Nhận thấy ngôn ngữ mới này có tiềm năng thương mại rất lớn, ông hợp tác với Cleve Mowler và Steve Bangert. Họ cùng nhau viết lại MATLAB bằng C và thành lập công ty The MathWorks vào năm 1984 để phát triển hơn nữa. Những thư viện này, được viết lại bằng C, đã được biết đến từ lâu với cái tên JACKPAC. MATLAB ban đầu được dùng để thiết kế hệ thống điều khiển (chuyên môn của John Little), nhưng nhanh chóng trở nên phổ biến trong nhiều lĩnh vực khoa học và kỹ thuật khác. Nó cũng đã được sử dụng rộng rãi trong giáo dục, đặc biệt là dạy đại số tuyến tính và các phương pháp số.

Mô tả ngôn ngữ MATLAB. Ngôn ngữ MATLAB ở cấp độ cao ngôn ngữ lập trình thông dịch, bao gồm cả những thứ dựa trên ma trận cấu trúc dữ liệu, nhiều chức năng, môi trường phát triển tích hợp, khả năng hướng đối tượng và giao diện cho các chương trình được viết bằng các ngôn ngữ lập trình khác.

Các chương trình viết bằng MATLAB có hai loại - chức năngkịch bản.

Các hàm có các đối số đầu vào và đầu ra cũng như các đối số riêng của chúng. không gian làm việcđể lưu trữ các kết quả tính toán trung gian và các biến.

Các tập lệnh sử dụng một không gian làm việc chung. Cả tập lệnh và hàm đều không biên dịch thành mã máy và được lưu dưới dạng tập tin văn bản.

Cũng có thể lưu cái gọi là được phân tích trước chương trình - các hàm và tập lệnh được xử lý thành dạng thuận tiện cho việc thực thi của máy. TRONG trường hợp chung Các chương trình như vậy chạy nhanh hơn các chương trình thông thường, đặc biệt nếu hàm chứa các lệnh vẽ đồ thị.

Đặc điểm chính của ngôn ngữ MATLAB là khả năng làm việc với ma trận rộng rãi, điều mà những người tạo ra ngôn ngữ này thể hiện bằng khẩu hiệu “nghĩ theo phương pháp vectơ”. Nghĩ được vector hóa).

Ứng dụng MATLAB.

Toán học và tính toán. MATLAB cung cấp cho người dùng một số lượng lớn (vài trăm) hàm để phân tích dữ liệu, bao gồm hầu hết các lĩnh vực toán học, cụ thể:

    Ma trận và đại số tuyến tính - đại số ma trận, phương trình tuyến tính, giá trị riêng và các vectơ, điểm kỳ dị, hệ số hóa ma trận và những thứ khác.

    Đa thức và nội suy - nghiệm của đa thức, các phép toán trên đa thức và vi phân, nội suy và ngoại suy của các đường cong và các phép toán khác.

    Thống kê toán học và phân tích dữ liệu - các hàm thống kê, hồi quy thống kê, lọc kỹ thuật số, biến đổi Fourier nhanh và các chức năng khác.

    Xử lý dữ liệu - một tập hợp các chức năng đặc biệt, bao gồm vẽ đồ thị, tối ưu hóa, tìm kiếm bằng 0, tích hợp số (theo phương trình bậc hai) và các chức năng khác.

    Phương trình vi phân - giải các phương trình vi phân và đại số vi phân, phương trình vi phân trễ, phương trình ràng buộc, phương trình vi phân từng phần và các phương trình khác.

    Ma trận thưa là một lớp dữ liệu đặc biệt của gói MATLAB được sử dụng trong các ứng dụng chuyên biệt.

    Số học số nguyên - thực hiện các phép tính số học số nguyên trong MATLAB.

Phát triển các thuật toán. MATLAB cung cấp phương tiện tiện lợiđể phát triển các thuật toán, bao gồm cả các thuật toán cấp cao, sử dụng các khái niệm lập trình hướng đối tượng. Nó có tất cả các công cụ cần thiết của một môi trường phát triển tích hợp, bao gồm trình gỡ lỗi và trình lược tả. Các chức năng làm việc với toàn bộ loại dữ liệu giúp bạn dễ dàng tạo thuật toán cho bộ vi điều khiển và các ứng dụng khác khi cần.

Trực quan hóa dữ liệu. Gói MATLAB có một số lượng lớn các chức năng để tạo biểu đồ, bao gồm cả biểu đồ ba chiều, phân tích dữ liệu trực quan và tạo video hoạt hình.

Môi trường phát triển nhúng cho phép bạn tạo giao diện đồ họa người dùng với nhiều điều khiển khác nhau như nút, trường nhập và các giao diện khác.

Ứng dụng độc lập. Các chương trình MATLAB, cả console và GUI, đều có thể được biên dịch bằng các thành phần Trình biên dịch MATLAB vào các ứng dụng thực thi hoặc thư viện động độc lập với MATLAB, tuy nhiên, yêu cầu cài đặt môi trường có thể phân phối lại tự do để chạy trên các máy tính khác Thời gian chạy trình biên dịch MATLAB(MCR).

Các giao diện bên ngoài. MATLAB bao gồm nhiều giao diện khác nhau để truy cập các quy trình bên ngoài được viết bằng các ngôn ngữ lập trình, dữ liệu, máy khách và máy chủ khác giao tiếp thông qua Mô hình đối tượng thành phần hoặc công nghệ Trao đổi dữ liệu động và thiết bị ngoại vi, tương tác trực tiếp với MATLAB. Nhiều khả năng trong số này được gọi là API MATLAB.

COM. MATLAB cung cấp quyền truy cập vào các chức năng cho phép bạn tạo, thao tác và xóa các đối tượng COM (cả máy khách và máy chủ). Công nghệ ActiveX cũng được hỗ trợ. Tất cả các đối tượng COM thuộc về một lớp COM đặc biệt của gói MATLAB. Tất cả các chương trình có chức năng điều khiển tự động hóa (tiếng Anh) Tự động hóa bộ điều khiển) có thể truy cập MATLAB như một máy chủ tự động hóa. Tự động hóa máy chủ).

.MẠNG LƯỚI. MATLAB trên Microsoft Windows cung cấp quyền truy cập vào .NET Framework. Có thể tải các tập hợp .NET và làm việc với các đối tượng lớp .NET từ môi trường MATLAB. MATLAB phiên bản 7.11 (R2010b) hỗ trợ .NET Framework phiên bản 2.0, 3.0, 3.5 và 4.0.

DDE. MATLAB chứa các chức năng cho phép nó truy cập vào các ứng dụng Windows khác và để các ứng dụng đó truy cập dữ liệu MATLAB, thông qua công nghệ Trao đổi dữ liệu động (DDE). Mỗi ứng dụng có thể là máy chủ DDE đều có tên nhận dạng duy nhất của riêng nó. Đối với MATLAB tên này là - Matlab.

Dịch vụ web. Trong MATLAB, có thể gọi các phương thức dịch vụ web. Chức năng đặc biệt tạo một lớp dựa trên các phương thức API dịch vụ web.

MATLAB tương tác với máy khách dịch vụ web bằng cách chấp nhận các tin nhắn từ nó, xử lý chúng và gửi phản hồi. Các công nghệ sau được hỗ trợ: Giao thức truy cập đối tượng đơn giản (SOAP) và Ngôn ngữ mô tả dịch vụ web (WSDL).

cổng COM. Giao diện cổng nối tiếp của MATLAB cung cấp quyền truy cập trực tiếp vào các thiết bị ngoại vi như modem, máy in và thiết bị khoa học kết nối với máy tính thông qua cổng nối tiếp (cổng COM). Giao diện hoạt động bằng cách tạo một đối tượng lớp học đặc biệt cho cổng nối tiếp. Các phương thức có sẵn của lớp này cho phép bạn đọc và ghi dữ liệu vào cổng nối tiếp, sử dụng các sự kiện và trình xử lý sự kiện cũng như ghi thông tin vào đĩa máy tính trong thời gian thực. Điều này là cần thiết khi tiến hành thí nghiệm, mô phỏng hệ thống thời gian thực và cho các ứng dụng khác.

Các tệp MEX. Gói MATLAB bao gồm một giao diện để tương tác với các ứng dụng bên ngoài được viết bằng C và Fortran. Sự tương tác này được thực hiện thông qua các tập tin MEX. Có thể gọi các thủ tục được viết bằng C hoặc Fortran từ MATLAB như thể chúng là các hàm dựng sẵn của gói. Các tệp MEX là các thư viện liên kết động có thể được tải và thực thi bởi trình thông dịch được tích hợp trong MATLAB. Các thủ tục MEX cũng có khả năng gọi các lệnh MATLAB tích hợp.

DLL. Giao diện DLL chung của MATLAB cho phép bạn gọi các hàm có trong các thư viện liên kết động phổ biến trực tiếp từ MATLAB. Các chức năng này phải có giao diện C.

Ngoài ra, MATLAB có khả năng truy cập các chức năng tích hợp của nó thông qua giao diện C, cho phép sử dụng các chức năng của gói trong các ứng dụng bên ngoài được viết bằng C. Công nghệ này trong MATLAB được gọi là Động cơ C.

Các gói thay thế. tồn tại một số lượng lớn các gói phần mềm giải các bài toán phân tích số. Nhiều gói trong số này là phần mềm miễn phí.

Tương thích với MATLAB ở cấp độ ngôn ngữ lập trình:

Tương tự về chức năng:

    APL và các hậu duệ của nó: ví dụ J

    Python, khi được sử dụng với gói phần mềm Python(x,y), cũng như với các thư viện như NumPy, SciPy và matplotlib, sẽ triển khai các khả năng tương tự.

    IDL(tiếng Anh) Tương tác Dữ liệu Ngôn ngữ, ngôn ngữ tương tác mô tả dữ liệu), từng là đối thủ cạnh tranh thương mại của MATLAB, giờ đây vẫn là đối thủ nặng ký trong nhiều lĩnh vực ứng dụng, mặc dù thị phần của nó trong phần mềm phân tích số đã giảm mạnh.

    Fortress, ngôn ngữ lập trình do Sun Microsystems tạo ra, là hậu duệ của Fortran, nhưng không tương thích với nó.

    Nếu cần phát triển các dự án lớn để phân tích số, có thể sử dụng các ngôn ngữ lập trình đa năng hỗ trợ kiểu gõ tĩnh và cấu trúc mô-đun. Ví dụ bao gồm Modula-3, Haskell, Ada, Java. Trong trường hợp này, nên sử dụng các thư viện chuyên ngành được biết đến trong môi trường khoa học và kỹ thuật.

2. Hộp công cụ Matlab

Trong Matlab, một nhóm chương trình chuyên biệt có vai trò quan trọng được gọi là hộp công cụ. Hộp công cụ là một tập hợp toàn diện các hàm (m-file) được viết bằng ngôn ngữ MATLABđể giải quyết một lớp vấn đề nhất định. Mathworks cung cấp các bộ công cụ được sử dụng trong nhiều lĩnh vực, bao gồm:

    Xử lý tín hiệu, hình ảnh và dữ liệu số: Hộp công cụ DSP, Hộp công cụ xử lý hình ảnh, Hộp công cụ Wavelet, Hộp công cụ giao tiếp, Hộp công cụ thiết kế bộ lọc- bộ chức năng cho phép giải quyết nhiều vấn đề trong xử lý tín hiệu và hình ảnh, thiết kế bộ lọc kỹ thuật số và hệ thống truyền thông.

    Hệ thống điều khiển: Hộp công cụ hệ thống điều khiển, µ-Hộp công cụ phân tích và tổng hợp, Hộp công cụ kiểm soát mạnh mẽ, Hộp công cụ nhận dạng hệ thống, Hộp công cụ điều khiển LMI, Hộp công cụ điều khiển dự đoán mô hình, Hộp công cụ hiệu chuẩn dựa trên mô hình- tập hợp các chức năng hỗ trợ phân tích và tổng hợp hệ thống động, thiết kế, mô hình hóa và nhận dạng các hệ thống điều khiển, bao gồm các thuật toán điều khiển hiện đại, chẳng hạn như điều khiển mạnh mẽ, điều khiển H∞, tổng hợp LMN, tổng hợp µ và các thuật toán khác.

    Phân tích tài chính: Hộp công cụ GARCH, Hộp công cụ thu nhập cố định, Hộp công cụ chuỗi thời gian tài chính, Hộp công cụ phái sinh tài chính, Hộp công cụ tài chính, Hộp công cụ nguồn cấp dữ liệu- bộ chức năng cho phép bạn thu thập, xử lý và truyền tải các thông tin tài chính khác nhau một cách nhanh chóng và hiệu quả.

    Phân tích và tổng hợp bản đồ địa lý, bao gồm cả ba chiều: Hộp công cụ lập bản đồ.

    Thu thập và phân tích dữ liệu thực nghiệm: Hộp công cụ thu thập dữ liệu, Hộp công cụ thu nhận hình ảnh, Hộp công cụ điều khiển thiết bị, liên kết cho Mã Studio soạn nhạc- bộ chức năng cho phép bạn lưu và xử lý dữ liệu thu được trong quá trình thử nghiệm, kể cả trong thời gian thực. Một loạt các thiết bị đo lường khoa học và kỹ thuật được hỗ trợ.

    Trực quan hóa và trình bày dữ liệu: Hộp công cụ thực tế ảo- cho phép bạn tạo thế giới tương tác và trực quan hóa thông tin khoa học bằng công nghệ thực tế ảo và ngôn ngữ VRML.

    Công cụ phát triển: Trình tạo MATLAB cho COM, Trình tạo MATLAB cho Excel, Trình tạo MATLAB cho NET, Trình biên dịch MATLAB, Thiết kế bộ lọc Bộ mã hóa HDL- bộ hàm cho phép bạn tạo các ứng dụng độc lập từ môi trường MATLAB.

    Tương tác với bên ngoài sản phẩm phần mềm : Trình tạo báo cáo MATLAB, Liên kết Excel, Hộp công cụ cơ sở dữ liệu, Máy chủ web MATLAB, Liên kết cho ModelSim- bộ chức năng cho phép bạn lưu dữ liệu theo cách mà các chương trình khác có thể hoạt động với nó.

    Cơ sở dữ liệu: Hộp công cụ cơ sở dữ liệu- Công cụ làm việc với cơ sở dữ liệu.

    Gói Khoa học và Toán học: Hộp công cụ tin sinh học, Hộp công cụ lắp đường cong, Hộp công cụ điểm cố định, Hộp công cụ logic mờ, Thuật toán di truyền và hộp công cụ tìm kiếm trực tiếp, Hộp công cụ OPC, Hộp công cụ tối ưu hóa, Hộp công cụ phương trình vi phân từng phần, Hộp công cụ Spline, Hộp công cụ thống kê, Hộp công cụ RF- tập hợp các hàm toán học chuyên biệt cho phép giải quyết nhiều vấn đề khoa học và kỹ thuật, bao gồm phát triển thuật toán di truyền, giải các bài toán đạo hàm riêng, bài toán số nguyên, tối ưu hóa hệ thống và các bài toán khác.

    Mạng lưới thần kinh: Hộp công cụ mạng thần kinh- công cụ tổng hợp và phân tích mạng lưới thần kinh.

    Lập luận mờ: Hộp công cụ logic mờ- Công cụ xây dựng và phân tích tập mờ.

    Tính toán tượng trưng: Hộp công cụ toán học tượng trưng- công cụ tính toán biểu tượng với khả năng tương tác với bộ xử lý biểu tượng của chương trình Maple.

Ngoài những bộ công cụ trên, còn có hàng nghìn bộ công cụ MATLAB khác được viết bởi các công ty và những người đam mê khác.

MATLAB là ngôn ngữ tính toán kỹ thuật cấp cao, môi trường phát triển thuật toán tương tác và công cụ phân tích dữ liệu hiện đại.
So với các ngôn ngữ lập trình truyền thống (C/C++, Java, Pascal, FORTRAN), MATLAB cho phép bạn giảm thời gian cần thiết để giải quyết các vấn đề điển hình theo một mức độ lớn và đơn giản hóa đáng kể việc phát triển các thuật toán mới.
MATLAB là nền tảng của toàn bộ dòng sản phẩm MathWorks và là công cụ chính để giải quyết nhiều vấn đề khoa học và ứng dụng trong các lĩnh vực như: thiết kế đối tượng và hệ thống điều khiển, hệ thống truyền thông, xử lý tín hiệu và hình ảnh, đo lường và kiểm tra tín hiệu, mô hình tài chính, sinh học tính toán, v.v.
Hạt nhân MATLAB giúp dễ dàng làm việc với các ma trận thuộc các kiểu dữ liệu thực, phức tạp và phân tích, cũng như với các cấu trúc dữ liệu và bảng tra cứu. MATLAB chứa các hàm dựng sẵn cho đại số tuyến tính (LAPACK, BLAS), biến đổi Fourier nhanh (FFTW), các hàm làm việc với đa thức, các hàm thống kê cơ bản và giải số của phương trình vi phân; thư viện toán học mở rộng cho Intel MKL. Tất cả các chức năng tích hợp của nhân MATLAB đều được các chuyên gia thiết kế và tối ưu hóa và hoạt động nhanh hơn hoặc tương đương với C/C++ của chúng.

Mô tả ngôn ngữ

Ngôn ngữ MATLAB là ngôn ngữ cấp cao lập trình, bao gồm cấu trúc dữ liệu dựa trên ma trận, nhiều chức năng, môi trường phát triển tích hợp, khả năng hướng đối tượng và giao diện với các chương trình được viết bằng các ngôn ngữ lập trình khác.

Các chương trình viết bằng MATLAB có hai loại - hàm và tập lệnh. Các hàm có các đối số đầu vào và đầu ra cũng như không gian làm việc riêng để lưu trữ các biến và kết quả tính toán trung gian. Các tập lệnh sử dụng một không gian làm việc chung. Cả tập lệnh và hàm đều không được diễn giải thành mã máy và được lưu dưới dạng tệp văn bản. Cũng có thể lưu cái gọi là chương trình được phân tích trước - các hàm và tập lệnh được xử lý thành một dạng thuận tiện cho việc thực thi của máy. Nói chung, các chương trình như vậy chạy nhanh hơn các chương trình thông thường.

Đặc điểm chính của ngôn ngữ MATLAB là khả năng làm việc với ma trận rộng rãi, điều mà những người tạo ra ngôn ngữ này thể hiện trong khẩu hiệu Hãy suy nghĩ bằng vector hóa.

Toán học và tính toán

MATLAB cung cấp cho người dùng một số lượng lớn (vài trăm) hàm để phân tích dữ liệu, bao gồm hầu hết các lĩnh vực toán học, cụ thể:
Ma trận và đại số tuyến tính - đại số ma trận, phương trình tuyến tính, giá trị riêng và vectơ, điểm kỳ dị, hệ số hóa ma trận và các ma trận khác.
Đa thức và nội suy - nghiệm của đa thức, các phép toán trên đa thức và vi phân, nội suy và ngoại suy của các đường cong và các phép toán khác.
Thống kê toán học và phân tích dữ liệu - hàm thống kê, hồi quy thống kê, lọc kỹ thuật số, biến đổi Fourier nhanh và những thứ khác.
Xử lý dữ liệu - một tập hợp các chức năng đặc biệt, bao gồm vẽ đồ thị, tối ưu hóa, tìm kiếm bằng 0, tích hợp số (theo phương trình bậc hai) và các chức năng khác.
Phương trình vi phân - giải các phương trình vi phân và đại số vi phân, phương trình vi phân trễ, phương trình ràng buộc, phương trình vi phân từng phần và các phương trình khác.
Ma trận thưa là một lớp dữ liệu đặc biệt của gói MATLAB được sử dụng trong các ứng dụng chuyên biệt.
Số học số nguyên - thực hiện các phép tính số học số nguyên trong MATLAB.


Phát triển thuật toán

MATLAB cung cấp các công cụ thuận tiện để phát triển các thuật toán, bao gồm cả các thuật toán cấp cao, sử dụng các khái niệm lập trình hướng đối tượng. Nó có tất cả các công cụ cần thiết cho môi trường phát triển tích hợp, bao gồm trình gỡ lỗi và trình lược tả. Các chức năng làm việc với toàn bộ loại dữ liệu giúp bạn dễ dàng tạo thuật toán cho bộ vi điều khiển và các ứng dụng khác khi cần.


Trực quan hóa dữ liệu

Gói MATLAB có một số lượng lớn các chức năng để xây dựng biểu đồ, bao gồm cả biểu đồ ba chiều, phân tích dữ liệu trực quan và tạo video hoạt hình.

Môi trường phát triển nhúng cho phép bạn tạo giao diện đồ họa người dùng với nhiều điều khiển khác nhau như nút, trường nhập và các giao diện khác. Bằng cách sử dụng thành phần Trình biên dịch MATLAB, các giao diện đồ họa này có thể được chuyển đổi thành các ứng dụng độc lập.


Giao diện bên ngoài

MATLAB bao gồm nhiều giao diện khác nhau để truy cập các quy trình bên ngoài được viết bằng các ngôn ngữ lập trình, dữ liệu, máy khách và máy chủ khác giao tiếp thông qua Mô hình đối tượng thành phần hoặc công nghệ Trao đổi dữ liệu động và các thiết bị ngoại vi giao tiếp trực tiếp với MATLAB. Nhiều khả năng trong số này được gọi là API MATLAB.


COM

MATLAB cung cấp quyền truy cập vào các chức năng cho phép bạn tạo, thao tác và xóa các đối tượng COM (cả máy khách và máy chủ). Cũng được hỗ trợ Công nghệ ActiveX. Tất cả các đối tượng COM thuộc về một lớp COM đặc biệt của gói MATLAB. Tất cả các chương trình có chức năng điều khiển Tự động hóa đều có thể truy cập MATLAB dưới dạng máy chủ Tự động hóa.


DDE

MATLAB chứa các chức năng cho phép nó truy cập vào các ứng dụng Windows khác và để các ứng dụng đó truy cập dữ liệu MATLAB, thông qua công nghệ Trao đổi dữ liệu động (DDE). Mỗi ứng dụng có thể là máy chủ DDE đều có tên nhận dạng duy nhất của riêng nó. Đối với MATLAB tên này là Matlab.


Dịch vụ web

Trong MATLAB, có thể gọi các phương thức dịch vụ web. Một hàm đặc biệt tạo một lớp dựa trên các phương thức của API dịch vụ web.

Matlab tương tác với máy khách dịch vụ web bằng cách chấp nhận tin nhắn từ nó, xử lý chúng và gửi phản hồi. Các công nghệ sau được hỗ trợ: Giao thức truy cập đối tượng đơn giản (SOAP) và Ngôn ngữ mô tả dịch vụ web (WSDL).


cổng COM

Giao diện cổng nối tiếp của MATLAB cung cấp quyền truy cập trực tiếp vào các thiết bị ngoại vi như modem, máy in và thiết bị khoa học kết nối với máy tính thông qua cổng nối tiếp (cổng COM). Giao diện hoạt động bằng cách tạo một đối tượng lớp đặc biệt cho cổng nối tiếp. Các phương thức có sẵn của lớp này cho phép bạn đọc và ghi dữ liệu vào cổng nối tiếp, sử dụng các sự kiện và trình xử lý sự kiện cũng như ghi thông tin vào đĩa máy tính trong thời gian thực. Điều này là cần thiết khi tiến hành thí nghiệm, mô phỏng hệ thống thời gian thực và cho các ứng dụng khác.


Tệp MEX

Gói MATLAB bao gồm một giao diện để tương tác với các ứng dụng bên ngoài được viết bằng C và Fortran. Sự tương tác này được thực hiện thông qua các tập tin MEX. Có thể gọi các thủ tục được viết bằng C hoặc Fortran từ MATLAB như thể chúng là các hàm dựng sẵn của gói. Các tệp MEX là các thư viện liên kết động có thể được tải và thực thi bởi trình thông dịch được tích hợp trong MATLAB.


DLL

Giao diện DLL chung của MATLAB cho phép bạn gọi các hàm có trong các thư viện liên kết động phổ biến trực tiếp từ MATLAB. Các chức năng này phải có giao diện C.

Ngoài ra, MATLAB có khả năng truy cập các chức năng tích hợp sẵn của nó thông qua giao diện C, cho phép bạn sử dụng các chức năng của gói trong các ứng dụng bên ngoài được viết bằng C. Công nghệ này trong MATLAB được gọi là C Engine.


Bộ công cụ

Đối với MATLAB, có thể tạo các hộp công cụ đặc biệt để mở rộng chức năng của nó. Hộp công cụ là tập hợp các hàm được viết bằng MATLAB để giải quyết một loại vấn đề cụ thể. Mathworks cung cấp các bộ công cụ được sử dụng trong nhiều lĩnh vực, bao gồm:
Xử lý kỹ thuật số tín hiệu, hình ảnh và dữ liệu: Hộp công cụ DSP, Hộp công cụ xử lý hình ảnh, Hộp công cụ Wavelet, Hộp công cụ truyền thông, Hộp công cụ thiết kế bộ lọc - bộ chức năng cho phép bạn giải quyết nhiều vấn đề trong xử lý tín hiệu, xử lý hình ảnh, thiết kế bộ lọc kỹ thuật số và hệ thống thông tin liên lạc.
Hệ thống điều khiển: Hộp công cụ hệ thống điều khiển, Hộp công cụ phân tích và tổng hợp, Hộp công cụ điều khiển mạnh mẽ, Hộp công cụ nhận dạng hệ thống, Hộp công cụ điều khiển LMI, Hộp công cụ điều khiển dự đoán mô hình, Hộp công cụ hiệu chỉnh dựa trên mô hình - bộ chức năng hỗ trợ việc phân tích và tổng hợp các hệ thống động, thiết kế, mô hình hóa và xác định các hệ thống điều khiển, bao gồm thuật toán hiện đại các điều khiển, chẳng hạn như điều khiển mạnh mẽ, điều khiển H∞, tổng hợp LMN, tổng hợp µ và các điều khiển khác.
Phân tích tài chính: Hộp công cụ GARCH, Hộp công cụ thu nhập cố định, Hộp công cụ chuỗi thời gian tài chính, Hộp công cụ phái sinh tài chính, Hộp công cụ tài chính, Hộp công cụ nguồn cấp dữ liệu - bộ chức năng cho phép bạn thu thập, xử lý và truyền tải các thông tin tài chính khác nhau một cách nhanh chóng và hiệu quả.
Phân tích và tổng hợp các bản đồ địa lý, bao gồm cả bản đồ ba chiều: Hộp công cụ lập bản đồ.
Thu thập và phân tích dữ liệu thử nghiệm: Hộp công cụ thu thập dữ liệu, Hộp công cụ thu thập hình ảnh, Hộp công cụ điều khiển công cụ, Liên kết cho Code Composer Studio - bộ chức năng cho phép bạn lưu và xử lý dữ liệu thu được trong quá trình thử nghiệm, kể cả trong thời gian thực. Một loạt các thiết bị đo lường khoa học và kỹ thuật được hỗ trợ.
Trực quan hóa và trình bày dữ liệu: Hộp công cụ thực tế ảo - cho phép bạn tạo thế giới tương tác và trực quan hóa thông tin khoa học bằng công nghệ thực tế ảo và ngôn ngữ VRML.
Các công cụ phát triển: MATLAB Builder cho COM, MATLAB Builder cho Excel, MATLAB Compiler, Filter Design HDL Coder - bộ hàm cho phép bạn tạo các ứng dụng độc lập từ môi trường MATLAB.
Tương tác với các sản phẩm phần mềm bên ngoài: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim - bộ chức năng cho phép bạn lưu dữ liệu vào nhiều loại khác nhauđể các chương trình khác có thể làm việc với chúng.
Cơ sở dữ liệu: Hộp công cụ cơ sở dữ liệu - công cụ để làm việc với cơ sở dữ liệu.
Các gói khoa học và toán học: Hộp công cụ tin sinh học, Hộp công cụ lắp đường cong, Hộp công cụ điểm cố định, Hộp công cụ logic mờ, Thuật toán di truyền và Hộp công cụ tìm kiếm trực tiếp, Hộp công cụ OPC, Hộp công cụ tối ưu hóa, Hộp công cụ phương trình vi phân từng phần, Hộp công cụ Spline, Hộp công cụ thống kê, Hộp công cụ RF - bộ công cụ các hàm toán học chuyên biệt cho phép giải quyết nhiều vấn đề khoa học và kỹ thuật, bao gồm phát triển các thuật toán di truyền, giải các bài toán đạo hàm riêng, bài toán số nguyên, tối ưu hóa hệ thống và các bài toán khác.
Mạng thần kinh: Hộp công cụ mạng thần kinh - công cụ tổng hợp và phân tích mạng thần kinh.
Tính toán tượng trưng: Hộp công cụ toán học tượng trưng - công cụ tính toán tượng trưng với khả năng tương tác với chương trình biểu tượng Maple.

Ngoài những bộ công cụ trên, còn có hàng nghìn bộ công cụ MATLAB khác được viết bởi các công ty và những người đam mê khác.