2022年1月6日 星期四

使用matlab/octave 以Latex語法顯示矩陣計算過程


使用Latex來表達矩陣運算實在是累人的一件事,每個矩陣元素都要以 "&" 符號隔開,想想看一個4X4的矩陣就要16個"&",想想就累。對於更大的矩陣,加上任何的錯誤計算或輸入,都需要細心校正及除錯。

為了減少計算錯誤及Latex語法錯誤輸入,使用Matlab/Octave不失一個好方法。現在就以線性迴歸直線為例(其他如:列運算、對角化...當然也能依樣畫葫蘆),用Latex來表達計算過程。

以下是103年的普考試題

想要表達的過程如下圖,其中紅框框是已知條件,其他資料是計算出來的。

講了一堆,現在開始操作......首先到網站:https://octave-online.net/,這樣就不用自己安裝OCTAVE。在命令列輸入矩陣A的資料:

接著A矩陣的第3列是第1列的平方,第4列是第2列的平方↓

最後是後第5列是第1列乘上第2↓

最重要的是把矩陣A轉成Latex語法,過程如下:


藍色框框的部份就是矩陣A的Latex表示式,將它複製起來貼到你的Latex 文件中,如下方展示的結果。

當然可以稍加「美工」,以符合需求↓

簡單過程已講解完畢,剩下是一些重點。
1.我們直接在https://octave-online.net/線上操作OCTAVE,你當然可以下載OCTAVE在自己的電腦上操作,OCTAVE是自由軟體,功能與MATLAB幾乎一樣。
2. 關於octave的命令就不囉唆,可以上網查。幾個重點
    A(n,:):矩陣A的第n行(水平資料)
    A(:,n):矩陣A的第n列(垂直資料)
    latex(sym(A)):將矩陣A以Latex語法表示,此舉會用到套件symbolic,因此使用前需載入此套件,即pkg load symbolic
3. 在octave中,矩陣可能會以科學符合顯示數值,但轉成latex後會以正常方式顯示

這樣做有比較省力嗎? 當然,電腦不會計算錯誤也不會輸入錯誤。想想看,如果你要表達列運算過程中的10個矩陣,光是打Latex就累,何況會打錯字!
=================== END ================

沒有留言:

張貼留言