Liên kết bảng tính MATLAB

Spreadsheet Link™ kết nối phần mềm bảng tính Excel® với không gian làm việc MATLAB®, cho phép bạn truy cập vào môi trường MATLAB từ một bảng tính Excel. Với phần mềm Liên kết bảng tính, bạn có thể trao đổi dữ liệu giữa MATLAB và Excel, tận dụng giao diện quen thuộc của Excel trong khi truy cập vào tốc độ tính toán và khả năng hiển thị của MATLAB

đối với Phiên bản MATLAB R2016b trở lên, hãy sử dụng Phiên bản Excel 2019, 2016, 2013, 2010, 2007
Đối với Phiên bản MATLAB R2013b, hãy sử dụng Phiên bản Excel 2013, 2010, 2007

Chọn một trang web để nhận nội dung đã dịch nếu có và xem các sự kiện và ưu đãi tại địa phương. Dựa trên vị trí của bạn, chúng tôi khuyên bạn nên chọn.

Bạn cũng có thể chọn một trang web từ danh sách sau

Làm thế nào để có được hiệu suất trang web tốt nhất

Chọn trang Trung Quốc (bằng tiếng Trung hoặc tiếng Anh) để có hiệu suất trang tốt nhất. Các trang web quốc gia khác của MathWorks không được tối ưu hóa cho các lượt truy cập từ vị trí của bạn

Spreadsheet Link™ kết nối phần mềm bảng tính Excel® với không gian làm việc MATLAB®, cho phép bạn truy cập vào môi trường MATLAB từ một bảng tính Excel. Với phần mềm Liên kết bảng tính, bạn có thể trao đổi dữ liệu giữa MATLAB và Excel, tận dụng giao diện quen thuộc của Excel trong khi truy cập vào tốc độ tính toán và khả năng hiển thị của MATLAB

đối với Phiên bản MATLAB R2016b trở lên, hãy sử dụng Phiên bản Excel 2019, 2016, 2013, 2010, 2007
Đối với Phiên bản MATLAB R2013b, hãy sử dụng Phiên bản Excel 2013, 2010, 2007

Khi được cài đặt và định cấu hình theo hướng dẫn trong Cài đặt bổ trợ, phần mềm Bảng tính Link™ và MATLAB® sẽ tự động khởi động khi bạn bắt đầu phiên Microsoft® Excel®

Kết nối với phiên MATLAB đã chạy

Theo mặc định, Liên kết bảng tính bắt đầu một phiên MATLAB mới. Ngoài ra, nó có thể kết nối với phiên MATLAB đang chạy

Ghi chú

Nếu một số phiên bản MATLAB được cài đặt trên máy tính của bạn, Liên kết bảng tính luôn sử dụng phiên bản đã đăng ký cuối cùng. Nếu bạn cố gắng kết nối với một phiên MATLAB đang chạy mà không phải là phiên bản đã đăng ký cuối cùng, thì Liên kết Bảng tính sẽ bắt đầu một phiên MATLAB mới. Liên kết bảng tính không kết nối với bảng tính hiện có. Để thay đổi phiên bản đã đăng ký cuối cùng, hãy xem Lỗi khởi động

Để kết nối phiên Excel mới với phiên MATLAB đang chạy

  1. Trong MATLAB, nhập lệnh sau

    enableservice('AutomationServer',true)

    Lệnh này chuyển đổi phiên MATLAB đang chạy thành máy chủ Tự động hóa

  2. Bắt đầu một phiên Excel mới. Nó tự động kết nối với phiên MATLAB đang chạy

Ngoài ra, bạn có thể khởi động MATLAB như một máy chủ tự động hóa ngay từ đầu. Để khởi động MATLAB như một máy chủ tự động hóa, hãy sử dụng tùy chọn dòng lệnh

=matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
4

Lệnh này không khởi động MATLAB ở chế độ máy tính để bàn đầy đủ. Để làm như vậy, hãy sử dụng tùy chọn

=matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
5

matlab -automation -desktop

Nếu bạn luôn sử dụng MATLAB làm máy chủ tự động hóa, hãy sửa đổi phím tắt mà bạn sử dụng để khởi động MATLAB

  1. Nhấp chuột phải vào biểu tượng lối tắt MATLAB của bạn. (Bạn có thể sử dụng biểu tượng trên màn hình nền hoặc trong menu Bắt đầu của Windows. )

    Các hàm Spreadsheet Link™ quản lý kết nối và trao đổi dữ liệu giữa Microsoft® Excel® và MATLAB® mà không cần rời khỏi môi trường Microsoft Excel

    Để thực thi các chức năng Liên kết bảng tính, bạn phải

    • Hiểu sự khác biệt giữa các hàm này và các hàm của Microsoft Excel

    • Chọn đúng loại chức năng, phương pháp thực hiện và chế độ tính toán cho tình huống của bạn

    • Quyết định cách chỉ định hàm và đối số

    Liên kết bảng tính và sự khác biệt về hàm Microsoft Excel

    Trong Microsoft Excel, việc nhập các hàm Liên kết bảng tính có thể tương tự như các hàm của Microsoft Excel. Sự khác biệt bao gồm

    • Các hàm Liên kết bảng tính thực hiện một hành động, trong khi các hàm Microsoft Excel trả về một giá trị

    • Tên hàm liên kết bảng tính không phân biệt chữ hoa chữ thường. Nhập

      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      6 hoặc
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      7 sẽ thực thi hàm
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      6

    • Tên hàm và tên biến MATLAB phân biệt chữ hoa chữ thường. Ví dụ:

      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      9,
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      0 và
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      1 là ba biến MATLAB khác nhau

    Các loại chức năng liên kết bảng tính

    Có các chức năng quản lý liên kết và quản lý dữ liệu trong Liên kết bảng tính

    Các chức năng quản lý liên kết khởi tạo, bắt đầu và dừng phần mềm Liên kết bảng tính và MATLAB. Thực thi hàm

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    2 từ menu Excel > hoặc trong các chương trình con macro

    Chức năng quản lý dữ liệu sao chép dữ liệu giữa Microsoft Excel và không gian làm việc MATLAB. Các hàm này thực thi các lệnh MATLAB trong Microsoft Excel. Ngoại trừ

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    0 và
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    1, bạn có thể thực thi bất kỳ chức năng quản lý dữ liệu nào dưới dạng công thức ô của trang tính hoặc trong macro VBA. Hàm
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    0 và
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    1 chỉ thực thi trong macro VBA

    Phương thức thực thi chức năng liên kết bảng tính

    Bạn có thể thực thi các chức năng Liên kết bảng tính bằng các phương pháp khác nhau này

    Phương thức thực hiện Ưu điểm Hạn chế

    Dải băng Microsoft Excel

    Truy cập nhanh chức năng Liên kết bảng tính phổ biến trong nhóm MATLAB

    Chức năng Liên kết bảng tính đầy đủ không khả dụng

    Trình đơn ngữ cảnh Microsoft Excel

    Truy cập nhanh chức năng Liên kết bảng tính phổ biến trong ô trang tính

    Chức năng Liên kết bảng tính đầy đủ không khả dụng

    Ô bảng tính Microsoft Excel

    • Thực thi bất kỳ chức năng Liên kết bảng tính nào

    • Thực thi các chức năng MATLAB

    Bạn không thể thực hiện

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    1,
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    0 hoặc
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    2 trong một ô của trang tính

    Microsoft Excel VBA macro

    • Thực thi bất kỳ chức năng Liên kết bảng tính nào

    • Thực thi các chức năng MATLAB

    • Thực thi mã VBA nâng cao

    Yêu cầu kiến ​​thức về Microsoft Visual Basic®

    Trình hướng dẫn hàm MATLAB

    • Tìm hàm MATLAB theo danh mục hoặc thư mục

    • Khám phá cú pháp hàm MATLAB

    • Thực thi hàm MATLAB bằng cách chọn cú pháp và chỉ định đối số

    • Thực thi chức năng MATLAB tùy chỉnh

    Thực thi một hàm MATLAB chỉ sử dụng các hàm Liên kết bảng tính

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    7 và
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    8

    Chỉ định chức năng liên kết bảng tính trong Microsoft Excel

    Khi bạn chỉ định một hàm Liên kết bảng tính trong một ô của trang tính, hãy nhập công thức bằng cách bắt đầu bằng ký hiệu

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    9 hoặc
    matlab -automation -desktop
    10. Sau đó, đặt đối số chức năng trong ngoặc đơn. Công thức ví dụ này sử dụng hàm
    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    6 để xuất dữ liệu trong ô
    matlab -automation -desktop
    12 thành ma trận
    matlab -automation -desktop
    13

    Trong các macro VBA, hãy để khoảng trắng giữa tên hàm và đối số đầu tiên. Không sử dụng dấu ngoặc đơn

    Để thay đổi ô hiện hoạt khi một thao tác hoàn tất, hãy chọn > >. Hành động này cung cấp một xác nhận hữu ích cho các hoạt động kéo dài

    Đặt chế độ tính toán

    Các hàm liên kết bảng tính hiệu quả nhất trong chế độ tính toán tự động. Để tự động tính toán lại chức năng Liên kết bảng tính, hãy thêm tham chiếu ô vào ô có giá trị thay đổi. Ví dụ: hàm

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    6 thực thi lại khi giá trị trong ô
    matlab -automation -desktop
    15 thay đổi

    matlab -automation -desktop
    5

    Để sử dụng

    =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
    6 trong chế độ tính toán thủ công

    1. Nhập hàm vào một ô

    2. Nhấn F2

    3. nhấn nút Enter. chức năng thực thi

    Các chức năng liên kết bảng tính không tự động điều chỉnh địa chỉ ô. Nếu bạn sử dụng các địa chỉ ô rõ ràng trong một hàm, hãy chỉnh sửa các đối số của hàm để tham chiếu một địa chỉ ô mới khi bạn

    • Chèn hoặc xóa hàng hoặc cột

    • Di chuyển hoặc sao chép hàm sang ô khác

    Chỉ định đối số chức năng liên kết bảng tính

    Bạn có thể chỉ định các đối số trong các hàm Liên kết bảng tính bằng cách sử dụng tên biến hoặc bằng cách tham chiếu vị trí dữ liệu cho đối số

    Ghi chú

    Các hàm liên kết bảng tính yêu cầu tham chiếu ô trang tính kiểu tham chiếu mặc định (A1). Các cột phải được chỉ định bằng chữ cái và các hàng bằng số. Nếu trang tính của bạn hiển thị các cột được chỉ định bằng số thay vì chữ cái, thì hãy làm theo quy trình này

    1. Chọn >

    2. Nhấp vào tab Chung

    3. Trong Cài đặt, bỏ chọn hộp kiểm kiểu tham chiếu R1C1

    Đối số tên biến

    • Bạn có thể trực tiếp hoặc gián tiếp chỉ định đối số tên biến trong hầu hết các hàm Liên kết bảng tính

      • Để chỉ định trực tiếp một tên biến, hãy đặt nó trong dấu ngoặc kép, ví dụ:

        matlab -automation -desktop
        17

      • Để chỉ định một tên biến làm tham chiếu gián tiếp, hãy nhập tên đó không có dấu ngoặc kép. Hàm đánh giá nội dung của đối số để truy xuất tên biến. Đối số phải là địa chỉ ô của trang tính hoặc tên dải ô;

    Ghi chú

    Các hàm liên kết bảng tính không hỗ trợ các biến toàn cục. Khi trao đổi dữ liệu giữa Excel và MATLAB, phần mềm sử dụng vùng làm việc cơ sở. Các biến trong không gian làm việc cơ sở tồn tại cho đến khi bạn xóa chúng hoặc kết thúc phiên MATLAB của mình

    Đối số vị trí dữ liệu

    • Đối số vị trí dữ liệu phải là địa chỉ ô của trang tính hoặc tên dải ô

    • Không đặt đối số vị trí dữ liệu trong dấu ngoặc kép (ngoại trừ trong

      matlab -automation -desktop
      19, có quy ước đối số duy nhất)

    • Đối số vị trí dữ liệu có thể bao gồm số trang tính, chẳng hạn như

      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      60 hoặc
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      61

      Mẹo

      Bạn có thể tham chiếu các ký tự đặc biệt như một phần của tên trang tính trong

      matlab -automation -desktop
      19 hoặc
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      6 bằng cách đặt tên trang tính trong dấu ngoặc đơn (
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      64)

    Chỉ định Hàm MATLAB trong Trình hướng dẫn Hàm MATLAB

    Sau khi bạn tìm thấy hàm MATLAB hoặc hàm tùy chỉnh trong Trình hướng dẫn hàm MATLAB, bạn có thể chỉ định cú pháp và đối số. Sau đó, Liên kết bảng tính chỉ định lệnh này để đánh giá trong không gian làm việc MATLAB

    Để thực thi một hàm MATLAB với nhiều đầu ra, hãy chỉ định nơi ghi đầu ra

    • Việc chỉ định phạm vi ô mục tiêu bằng cách sử dụng trường sẽ khiến hàm đã chọn xuất hiện trong ô của trang tính hiện tại dưới dạng đối số của

      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      8. Hàm
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      8 bao gồm một đối số cho biết nơi ghi đầu ra. Ví dụ: dữ liệu từ
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      67 được nhập vào hàm
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      68 và ô mục tiêu cho đầu ra là
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      69

      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)

    • Mặc dù Trình hướng dẫn hàm cho phép bạn chỉ định nhiều ô đầu ra, nhưng nó không trả về nhiều đầu ra. Nếu bạn chỉ định một dải ô đầu ra, trình hướng dẫn sẽ trả về đối số đầu ra đầu tiên bắt đầu từ ô đầu ra đầu tiên. Ví dụ: nếu một hàm trả về hai phần tử

      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      70 và
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      71, đồng thời bạn chỉ định
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      72 làm ô đầu ra, Trình hướng dẫn Hàm sẽ hiển thị
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      70 trong ô
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      74. Trình hướng dẫn Hàm loại bỏ phần tử
      =matlabsub("rand","Sheet1!$B$2",Sheet1!$A$2)
      71. Nếu một đầu ra là một ma trận, Trình hướng dẫn Hàm sẽ hiển thị tất cả các phần tử của ma trận đó bắt đầu từ ô đầu ra đầu tiên

      Đối với nhiều đối số đầu ra, hãy xem Trả về Nhiều Đối số Đầu ra từ Hàm MATLAB

    Để thực thi nhiều hàm MATLAB hoặc sử dụng các đối tượng MATLAB, hãy viết hàm bao bọc

    • Trình hướng dẫn hàm không cho phép thực hiện đồng thời nhiều hàm MATLAB. Thay vào đó, hãy viết một hàm bao bọc. Ví dụ: để vẽ dữ liệu giá đóng cửa lịch sử từ Bloomberg®, hãy nhập mã này vào MATLAB và lưu dưới dạng hàm

      matlab -automation -desktop
      1

      Để biết chi tiết về cách viết hàm, hãy xem Tạo hàm trong tệp

    • Microsoft Excel không có ngữ cảnh cho các đối tượng MATLAB. Để làm việc với các đối tượng MATLAB, chẳng hạn như kết nối với nhà cung cấp dịch vụ, hãy viết hàm bao bọc. Hàm bao bọc thực thi các hàm tạo và thao tác với các đối tượng này

      Làm cách nào để xuất MATLAB sang Excel?

      Để xuất bảng trong không gian làm việc sang tệp bảng tính Microsoft® Excel®, hãy sử dụng hàm có thể ghi . Bạn có thể xuất dữ liệu từ không gian làm việc sang bất kỳ trang tính nào trong tệp và đến bất kỳ vị trí nào trong trang tính đó. Theo mặc định, writetable ghi dữ liệu bảng của bạn vào trang tính đầu tiên trong tệp, bắt đầu từ ô A1.

      MATLAB có thể làm việc với Excel không?

      Bạn có thể trao đổi dữ liệu giữa MATLAB và Excel , tận dụng giao diện Excel quen thuộc trong khi tiếp cận các thuật toán MATLAB trong xử lý hình ảnh, phân tích dữ liệu và kỹ thuật điều khiển.