ReleaseMind HK

輕易將數字矩陣在MATLAB與MS Word之間轉換格式
給工程學生的提升工作效率秘笈

MATLAB貼士 - 輕鬆在MATLAB與MS Word之間轉換數字矩陣格式

在我讀碩士和博士研究學位時,其中一項麻煩的工作就是將為用數值分析軟件 MATLAB 編寫的公式和計算結果重寫到報告和論文上。當時,我是使用 Microsoft Word 作為主要的文字處理軟件,在 Microsoft 方程式編輯器內手動輸入數字不單浪費時間,並且容易產生人為錯誤,尤其是數字矩陣。因此,我開發了一組程式碼來在 MATLAB 和微軟方程式格式之間轉換矩陣數據。你可以到我的 GitHub 儲存庫下載 MATLAB 程式碼,有關用法則如下描述。

到 GitHub 下載

從 MATLAB 轉換至 Microsoft 方程式

文件 mat2mseq.m 包含將 MATLAB 中的矩陣數據轉換為純文本格式的微軟方程式的程式碼。該函數有兩個參數:

二維數字矩陣

數字的字符格式 (請參見 sprintf)

範例

martixA = \[1 0 0; 0 1 0; 0 0 1];
  s = mat2mseq(martixA, '%g');

  ⇒ s =
      ■(1&0&0@0&1&0@0&0&1)

將輸出的字串複製到 Microsoft Word、OneNote 或 PowerPoint 中的方程式物件,就會在方程式編輯器中獲得 matrixA

從 Microsoft 方程式轉換至MATLAB

文件 mseq2mat.m 包含將 Microsoft 方程式格式的數字矩陣轉換為 MATLAB 數值的程式碼。該函數需要以下參數:

  • 微軟方程式中的矩陣 (純文本格式)

例如,當你從MS Word複製 matrixA 到剪貼簿並貼上到 MATLAB。該矩陣將以微軟方程式的純文本格式於 MATLAB 的命令行中顯示,如 ■(1&0&0@0&1&0@0&0&1)。通過使用函數分析字串即將其轉換為資料數值,如下例所示:

A = mseq2mat('■(1&0&0@0&1&0@0&0&1)')

  ⇒ A =
      [ 1 0 0 ;
        0 1 0 ;
        0 0 1 ]

供開發使用文件

若要開發你的 MATH 轉換器,你可以參考網上文檔 UTN #28: Nearly Plain-Text Encoding of Mathematics 以查閱 Microsoft 如何使用 Unicode 在數學表達的編碼上。如果想學習更多在 Microsoft 方程式編輯器的快速插入數學符號的代碼,推薦你閱讀這份密西根理工大學的筆記 (PDF)

你知道什麼出色的工具可以幫助編寫學術文章嗎?你有問題或建議嗎?
請在下面的評論中分享讓我們知道吧!

你可能也會想知道