前言Mathematica是一個老牌的科學計算軟體,在數據分析、數學計算等領域提供了強大方便的使用功能。最近筆者在學習集智學園的Mathematica入門教程,收穫很大。Mathematica的功能非常強大,原生函數非常多,有近5000個,並涉及多個領域。筆者作為一個初學者,本文不可能面面俱到。因此筆者根據工作需要進行了取捨,集中介紹可視化、代數運算、圖以及自然語言處理四方面的常用函數。一、安裝使用

首先 Mathematica是一個付費軟體,具體步驟是,去官網註冊賬戶,然後根據情況選擇購買。我這裡首先是嘗試試用,有15天的試用期。下載安裝後直接使用即可。

官網地址:wolfram.com/mathematica二、基本使用技巧說是技巧,其實也就是筆者遇到問題自己解決問題的過程。下面通過幾個例子來解釋。如果我知道有一個函數名字叫做Plot,具體參數不記得怎麼用了。通過在函數名前加問號,然後可以調出關於這個函數的基本用法解釋。截圖如下,可以看到,解釋非常清晰。

注意看到上面截圖的右下方有一個 >> 符號,點擊後可以進入該函數的詳細文檔界面,裡面不僅給出了某個函數的用法,而且給出了大量的例子說明。

筆者遇到的另一個問題就是,如何書寫特定數學標識符。最簡單的辦法,就是通過左上角菜單欄裡面點擊 面板>數學助手/書寫助手,這樣初學者書寫數學公式就非常簡單了。數學助手的面板如下,可以有一個直觀的印象。

如果除了特定函數文檔,想要系統探索或者學習怎麼辦呢?mathmatica提供了詳細的,包含各個類別的使用技巧。具體可直接點擊菜單欄 幫助>Wolfram參考資料。下面截圖是參考資料的首頁展示,可以看到各類功能非常齊全,可根據需要自主學習相應的版塊。

三、常用可視化函數1.Plot 函數用法一:

Plot 函數基本用法接受兩個參數,第一個是要繪製的函數,第二個用{ }包含,裡面分別有自變數,自變數的最小值和自變數的最大值。舉例如下:

Plot[Sin[x], {x, 0, 2 Pi}]上面這行代碼繪製圖像如下:可以看到,mathmatica中,函數後跟方括弧[],而不是通常編程語言中的小括弧()。後面看到的其他函數均是這一格式。

用法二:如果想要在一張圖中繪製多個圖像怎麼辦?這時只要修改參數一,用花括弧{}包含多個函數即可。具體可看下面的例子:Plot[{x^2, x}, {x, 0, 1}]

2.Plot3D 繪製三維圖像Plot3D 函數用於繪製三維圖像,參數的用法與Plot函數類似。例如,下面代碼繪製一個高斯函數:Plot3D[Exp[-(x^2 + y^2)], {x, -3, 3}, {y, -3, 3}, PlotRange -> All]注意這裡的PlotRange -> All是一個可選參數,設置繪製範圍。mathmatica中這種可選參數很多,具體可查詢文檔,根據實際需要選用。

上面是最常見的兩個繪圖函數。Mathemtica還提供了大量其他繪圖函數,具體參數用法與Plot和Plot3D類似,可以根據實際情況選擇使用。下面展示幾個:

DensityPlot[Sin[x] Cos[y], {x, 0, 2 Pi}, {y, 0, 2 Pi}]

VectorPlot3D[{x, y, z}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}]

四、可視化參數配置1.添加標記參數AxesLabel 設置坐標軸標籤。例如:

Plot[Sin[x], {x, 0, 2 Pi}, AxesLabel -> {time, price}]

可以看到,現在x軸顯示為time,y軸顯示為price。

參數PlotLabel設置整個圖的標籤。例如:Plot[Sin[x], {x, 0, 2 Pi}, AxesLabel -> {time, price}, PlotLabel -> 股價波動]

參數PlotLegends添加圖例。例如:Plot[{x^2, x}, {x, 0, 1}, PlotLegends -> {x的平方, x}]

可以看到,圖的右側顯示出了圖例。

2.範圍調節PlotRange設置x軸和y軸的範圍,例如:Plot[{x^2, x}, {x, 0, 5}, PlotRange -> {{0, 2}, {0, 2}}]可以看到,上面雖然將自變數x的範圍設置為0-5,但是畫圖時將x軸標尺範圍設置為0-2,y軸標尺範圍也設置為0-2。

3.風格調節

PlotStyle調節風格,例如:Plot[{x^2, x}, {x, 0, 5}, PlotStyle -> {{Black, Thick}, {Gray, Dashed}}]可以看到,此時第一個函數繪製成了黑色粗線,第二個繪製成了灰色虛線。

五、常用數學計算1.求極限,使用Limit

2.求數列和,使用Sum

可以看到,這裡使用的是解析解。

3.解遞推方程,使用RSolve

4.求微分,使用D下面分別求一次和二次偏導

5.求積分

六、圖與網路1.首先畫出簡單的圖有向圖,有向連接可以通過鍵盤 esc de 得到快捷提示。

無向圖,無向連接可以通過鍵盤 esc ue 得到快捷提示。

2.生成鄰接矩陣利用隨機數生成鄰接矩陣圖

3.Barabasi-Albert模型Wiki對該模型的定義是:The Barabási–Albert (BA) model is an algorithm for generating random scale-free networks using a preferential attachment mechanism.

4.使用 VertexDegree 輸出每個節點的度

七、常用自然語言處理方法1.計算文本中單詞數量簡單計算總數量

計算單詞出現頻率

計算2-grams

計算特定單詞出現頻率,注意第二個參數指定特定單詞

2.計算編輯距離

3.識別語言類型

4.文本語法結構剖析

5.一些文本預處理方法文本切割為單詞列表。

文本切割為句子列表。

去停用詞

6.詞雲生成

mathmatica的功能非常強大,上面僅僅是筆者根據工作需要學習的特定的幾個方面。不得不說,經過兩周的學習,筆者也僅僅掌握了一些特定的函數,如果真正想要精通,長期大量使用和練習是離不開的。希望本文能給讀者一些幫助。

作者:yao本文為yao同學關於《Mathematica基礎入門教程》的學習筆記,更多知識可掃描下方二維碼進行深入學習。

campus.swarma.org/gpac= (二維碼自動識別)

課程地址:campus.swarma.org/gpac=(掃描二維碼或者點擊閱讀原文即可免費試聽首節課

關注集智AI學園公眾號

獲取更多更有趣的AI教程吧!搜索微信公眾號:swarmAI集智AI學園QQ羣:426390994學園網站:campus.swarma.org商務合作和投稿轉載|[email protected]


推薦閱讀:
相關文章