Sagemath 是一個覆蓋許多數學功能的應用軟體,最初的目標是創造一個數學套裝軟體 Magma、Maple、Mathematica 和 MATLAB 的開源替代品。通過其 Sage Notebook 圖形化界 面,可以讓我們更快速地瞭解如何使用 Sagemath 。安裝說明不在此一一敘述,請參考網上 資源1 。
Sage 中包含了許多軟體包,我們可以在 Sage Notebook 中選擇不同的軟體語言來使 用。而本文中主要針對 sage 的使用,而在機率與統計部分則會使用 r language 來進行運 算。
按編:
近年來,由於許多學科的數量化與數學化的需求,使得各國的高中數學教育特別重視函 數及其應用,在先進國家,學生除用描點繪圖外,還用電腦繪圖輔助函數的學習,以建 立其函數與圖形的直觀連結。
這裡將介紹如何利用指令expand()及collect()進行乘法公式之推導
expand():展開以符號表達的式子。
collect(s):將所有s的系數收集成群。
例題: 設都是
實數,導出
x,a,b,c = var("x,a,b,c")
f=expand((x+a)*(x+b)*(x+c))
f.collect(x)
此部分將介紹如何以 sage 繪製簡單的函數圖形,並建立斜率的幾何意義。
首先,先介紹一個繪圖的常用指令: plot()
此部分將介紹如何以 sage 繪製簡單的函數圖形,並建立斜率的幾何意義。
首先,先介紹一個繪圖的常用指令: plot()
透過這個指令可以畫出平面上的圖形。我們試著畫
出 的圖形,在方框中輸入
以下指令後按下 evaluate 鍵1
plot(2*x)
即可得到 的 圖形2
接下來試著改變 項
前面的系數
隨著系數的改變,可以看見直線的傾斜程度在改變,我們稱這個系數為「斜
率」
形如 的函
數,我們稱之為一次函數, 透過繪圖我們可以知道一些性質:圖形是一條斜率為2的直線,
與 軸交點稱
之為 截距,
與 軸交點稱之
為 截距。圖中這
個函數的 截距
為, 截
距為。
plot(2*x-4)
此部分主要針對二次函數的平移進行繪圖操作,並學習如何將多個
函數圖形在 sage 同時畫在一個坐標平面上。 首先我們畫出這三個函
數3 :
、
、
plot(x^2,-3,3)
plot((x-1)^2,-3,3)
plot((x-1)^2-1,-3,3)
接下來在上面三行指令分別加上p、p1、p2,作為命名之用。
p=plot(x^2,-3,3)
p1=plot((x-1)^2,-3,3)
p2=plot((x-1)^2-1,-3,3)
最後引入一個新的指令 show(),目的是顯示出p、p1、p2三個圖 形4
透過三個圖形的重疊可以看出p、p1、p2之間的關係: p為原本的圖形,向右移動一 個單位後產生p1,再將p1往下移動一個單位形成p2。
例題:設
,
,
求 及
p=2*x^4-3*x^3+x^2-2
q=2*x^4+x^3-x+4
p+q
p-q
即可得出 及
例題:計算兩多項式
與
的
乘積
p=2*x^3-x+3
q=-3*x^2+2*x-5
p*q
但是出來會發現結果 並 未展開。此時我們需要使用前面介紹過的展開指令 expand(p*q)
即可得出展開後的結果
例題:計算
與
的
乘積
p=x^4-2*x^2+3*x-4
q=x^2-x-3
p.maxima_methods().divide(q)
得出結果如下:5
例題:求二次多項式函數 使函數圖形
通過平面上三點 ,,.6
R = PolynomialRing(QQ, ’x’)
f = R.lagrange_polynomial([(1,-2),(2,3),(3,12)])
f
可得出結果:
此部分將以 sagemath 另一個強大的部分:支援多種開源套裝軟體的語言環境,進行大 略的使用教學。在此章節中,我們將在 Sage notebook 平台上編寫並執行常用於統計的 R 語言。
典型機率計算中的排列組合,可由factorial階層函數與choose函數分別達成。
例題:奧運棒球複賽共有8隊參加,假設每隊都有奪牌的可能,如此分別得到冠軍、亞軍
與季軍的隊伍可能有幾種可能?
根據題目,我們可以列出所求為
透過 R 語言,我們可以輸入以下函式
組合的部分,R已內建 choose() 函式供我們使用。
例題:8個人組成3個人一隊的隊伍,有幾種組合方式?
根據題目,我們可以列出所求為
但透過 choose() 函式即可方便求解。
實驗模擬一:袋中有3顆白球,2顆紅球,隨機從袋中取出一顆球,抽出紅球的機 率。
得出來的結果每次都會不同,但都非常接近
實驗模擬二:從10個紅球與8個白球中隨機取出2個球。試求條件機率 P(兩球皆紅
球至少
取到一顆紅球)= ?
透過R來進行二項分佈的繪圖
例題:設隨機變數 的
取值表示投擲一枚硬幣四次後,正面出現的總次數。試於下列條件下繪出其機率質量函
數圖。
(1)此為均勻的硬幣,出現正面機率 .
(2)此為不均勻的硬幣,出現正面機率 .
(1)
(2)
例題:從1到10中隨機取3個數字
結果:
這裡將介紹矩陣加法、減法與乘法1 的
操作。
以的矩
陣加減法為例:
如果要建立以未知數(或符號)的矩陣,我們要先進行以下的操作
接著才定義A、B兩矩陣
先來看看我們輸入的結果
進行 A+B 與 A-B 的運算
本節的內容主要介紹二階方陣的“線性變換”意涵。
任何一個二階方陣 定義了一個坐
標平面上的線性變換,將點 對
應到點 ,
即
這裡將使用以下模組 2
例題:
逐行輸入後會得到以下變換結果
即可得出結果為
這個部分將使用 @interact ,透過互動功能改
變 中 四
個變數,讓學生可以進行實際操作,加深
對 函數平移、伸縮的印象,並加入
了 函數的顯示功能,可以讓學生了
解 與 函
數的關係。
程式示範:
程式說明:
Sage本身即以 python 作為主要架構的軟體,因此大部份程式寫法均與 python 通用。這
個程式分成三個區塊:定義、邏輯判斷、輸出文字
第一部分:
宣告使用 @interact 以進行互動功能並定義滑桿區函
數1 ,括號內之slider為
滑桿函數2 ,checkbox為
單選方塊,可決定是與否。
第二部分:
使用 if 決定當 顯示狀
態3 為 True 時該顯示的
圖形,else 則為當 顯
示狀態為 False 所該畫出來的圖形。此處圖形語法和前面章節繪製函數圖形方法相同,
不另加描述。
第三部分:
輸出所要表達的文字,此處三行分別提示不同顏色所代表的函數圖形。
執行結果示意圖:
SageTEX的安裝並不困難,安裝完 Sage ,SageTEX自然就在您的電腦裡。唯一要做的 是:確認您的 TEX有找到 SageTEX所使用的 package :sagetex.sty 。這個檔案位於 Sage 軟體根目錄底下的 /local/share/texmf/tex/generic/sagetex/ 。當你在執行 pdflatex 時可以檢查資料夾內有沒有生成 *.sagetex.sage 。如果沒有,到上列目錄將 sagetex.sty 拷貝,和 tex 放入同一個資料夾內即可。
SageTEX的使用分為兩部份:在 *.tex 檔中的寫法與執行方
法1 。
以下為撰寫 tex 檔的幾個重點:
f(x)= exp(x) * sin(2*x)
之後在文章中有使用到 sageblock 裡面東西的時候,如 f 的二次微分 為
即是使用\sage將 引入算式 中並自動完成,如下表示2 。
即可在文章中插入圖形結果如下:
執行方法:
以下在終端機界面執行,執行前務必確認可以於終端機中輸入 sage 呼叫 sage 軟體。以
下操作皆在 *.tex 所屬資料夾中執行。