數學文書處理 1

46 篇文章 1 订阅
32 篇文章 1 订阅

“Talk is cheap. Show me the code.”
― Linus Torvalds

老子第41章
上德若谷
大白若辱
大方無隅
大器晚成
大音希聲
大象無形
道隱無名

拳打千遍, 身法自然


本系列文章:

  • 數學文書處理 1 link

  • 數學文書處理 2 Geogebra 與 Latex 探索呈現教甄107 link

  • 數學文書處理 3 Geogebra 與 Latex 探索呈現教甄108 link

  • 數學文書處理 4 Geogebra 與 Latex 探索呈現108教甄 link

  • 數學文書處理 5 Geogebra 與 Latex 探索呈現109教甄 link



數學文書處理之核心能力

數學文書處理, 是專業的技術, 除了基本的數學素養之外, 還需要能綜合運用各類能處理數學符號的軟
體, 以及能繪製數學圖形的軟體, 本課程主要介紹最基本核心需要的部分.
同時考慮到跨平台, 開源, 免費, 維護穩定, 有長期口碑的因素, 我挑選以下幾種軟體:

  1. Markdown 語法,
  2. Latex 語法,
  3. GeoGebra 畫數學圖形與數學動畫
  4. 運用 Python 程式庫繪製數學圖形與數學動畫

Markdown 語法

markdown 的格式不單可以呈現一般文章, 也適合用在簡報的呈現,

markdown 最讓本人喜愛的兩點是, 因為我在數學系的講義需要使用大量的數學符號與數學圖形,

  1. markdown 可以插輕鬆入圖檔, 動畫檔 .gif 也可以, 也可以畫流程圖、心智圖等, 也可以插入程式碼.
  2. markdown 可以插輕鬆入 Latex 之指令 (Latex 或 Tex 是專業編輯 數理化公式, 化學分子結構式, 或科學算式等 之程式語言)

Markdown 的編譯方法

可以使用線上編輯器例如MdEditor等等.

本地安裝之編輯器

.md 之軟體畫面效果是否免費
Typora可以切換原始碼或編譯之後預覽的畫面, 無法同時呈現, 基本版執行Latex語法似乎有問題基本版免費
VScode同時有原始碼與預覽視窗基本版免費
RStudio同時有原始碼與預覽視窗基本版免費

詳細內容可以參考本人的網誌:
賴鵬仁, 用免費的電腦資源協助數學的教學,學習與探索_復華中學教師營_中山大學應數系高中數學人才班_2021, link

Latex 語法

Tex 語法的由來

TeX 是 Donald E. Knuth1.1 教授的精心傑作,它是個功能非常強大的幕後排版系統,含有彈性很大,而且很低階的排版語言。當初,是因為 Knuth 教授在寫他的大著 TAOCP(The Art of Computer Programming) 時,發覺書商把他書中的數學式子排得太難看了,於是決定自行開發一個非常適合排數學式子的排版語言,這就是 TeX 系統的來由, Latex 是 Tex 的巨集。
Ref: 大家來學 LaTeX, https://www.cs.pu.edu.tw/~wckuo/doc/latex123/latex123.html link

Latex 的編譯方法使用免費的 MikTex

搜尋 MikTex 官網 https://miktex.org/ link,
注意要有加密的站, 以免跑到假的站,

安裝好之後, 會有一個編輯軟體叫 TeXworks, 相當好用, 選編輯器是 XeLaTex 就可以編輯中文.

Latex 可以設定颜色

語法
字體颜色︰{\color{颜色}表達式}
背景颜色︰{\pagecolor{颜色}表達式}

x 1 , 2 = − b ± b 2 − 4 a c 2 a x_{\color{Red}1,2}=\frac{-b\pm\sqrt{{\color{Orange}b^2-4ac}}}{2a} x1,2=2ab±b24ac

$x_{\color{Red}1,2}=\frac{-b\pm\sqrt{{\color{Orange}b^2-4ac}}}{2a}$

Ref: (推薦) 暗-小汐, LaTeX 各种命令,符号, link.

GeoGebra 中也可以編打 Latex

可以參考本人: 用免費的電腦資源協助數學的教學,學習與探索_復華中學教師營_中山大學應數系高中數學人才班_2021/ 數學符號的打印之協助/初學者 可以利用 GeoGebra的插入文字對話框裏, 有Latex的簡便用法,
那一節
https://blog.csdn.net/m0_47985483/article/details/113790840 link

也可以參考
Ref: latex 中括号_通过geogebra实现LATEX数学公式编辑,数学电子版笔记的好帮手!link

GeoGebra 畫數學圖形

對於一個不太複雜的數學圖形, 動畫,
GeoGebra 會更適合快速產生數學圖形, 動畫, 快速加上各類註解顏色等, 或做一個不太複雜的數學實驗, 可以用滑鼠拖拉設計, 同樣的效果, 用 Python 等程式語言會反而花很多時間,
對於很忙碌的老師想要快速做出一個數學圖形用在數學考卷或是講義上, 用程式語言會緩不濟急, 有割雞用牛刀的味道, 此時用 Geogebra 會較明智.

  • GeoGebra 一般可以不需要用到程式語言, 可以完全用滑鼠拖拉設計, 類似 GSP,
  • 但是 GeoGebra 也有自己的指令, 叫 GGBScript, 分為微積分類、幾何類、代數類等等, If 指令, 重複性的動作並沒有 for 迴圈, 需要用 Repeat 指令 (Repeat( <Number>, <Scripting Command>, <Scripting Command>, … )), 是函數式程式語言的特色, 但是比 for 還是較不彈性, 所以 GeoGebra 自己的語法 GGBScript 並不能算是一個完整的程式語言.
  • 要使用完整的程式語言, GeoGebra 也可以執行 JavaScript 程式語言(操控網頁的語言), 如果要使用較彈性的 for 迴圈, 可以 選擇使用 JavaScript.
    先點選隨便一個物件(物件就是 GGB裡所有的東東例如, 畫出的一個圓, 一個按鈕等), 按右鍵打開物件 的屬性\程式, 選擇程式種類為 JavaScript, 輸入程式碼, 按確定, 對話窗關掉, 就可以執行
    例如以下是在屬性\程式 欄位輸入 試除法檢測因數 的JavaScript程式碼
    列出因數JS_按鈕JS程式區

GeoGebra 在中學數理科到大一微積分相當夠用

GeoGebra 可以直接以滑鼠拖拉畫圖, 以滑桿功能展示即時動態變化, 也有不少微積分的指令, 例如以下我用 GeoGebra 製作的數值積分梯形法的動態展示, 加上文字說明, 按鈕等, 同樣的效果, 如果僅是靜態圖, 用 Python+Matplotlib 的 pyplot畫, 恐怕要花上兩三倍的時間.
數值積分梯形法講解用 Sequence
例如以下是我用 GeoGebra 製作的 微積分考卷的圖, 要呈現 Varberg微積分那本原文教科書的某題之圖, 加上自己的設計, 用 GeoGebra 製作 3D 函數圖也很輕鬆:
201606光通期末考極值1
或, 以下是用 GeoGebra 製作的 兩變數函數 f ( x , y ) = 4 + x y − x 2 − y 2 f(x,y)=4+xy-x^2-y^2 f(x,y)=4+xyx2y2 侷限在單位圓上求極值, 的說明圖:
Varberg_P670_12.9Example5_20210413jpg

同樣的效果, 如果僅是靜態圖, 用 pyplot, 恐怕要手忙腳亂一陣子, 3D 可能還要動用到MayaView等, 如果是動畫, 還得查一下 Tkinter 的指令等.

另一方面, 如果完全用 GeoGebra 算微積分, 因為 GeGebra 主力是動態幾何, 會覺得指令不夠, 要想有完整的微積分, 最佳化, 矩陣, 解微分方程等函數, 還是要搭配依賴較完整的程式語言, 例如 Python+Scipy+SymPy, 或 Matlab, Maple, Mathematica , 或 R, Maxima 等.

所以我自己的建議是可以兩方搭配一起用, 當然如果是 GeGebra搭配 Python+Scipy+SymPy,學習的時間, 以我本人的經驗, 教師以課餘瑣碎的時間邊教邊摸索自學, 約需2~3年的時間(GeoGebra只需2,3個月), 但是, 作者觀察本校師範院校教出的學生, 尤其是我自己教過的同學進入各中小學教書, 如果不肯把握時間加緊自學, 過了10年, 發現這個學生還是不會駕馭軟體協助自己教學與研究, 只能羨慕自己的同事, 輕易嫻熟的操控軟體做出精美的數學教材, 電腦這樣的東西, 花時間敲指令下去就有收穫, 如果用看的用想的, 永遠只能羨慕別人.

GeoGebra 畫教甄考題

107 全國教甄 第二部分第6題

07 全國教甄 第二部分第6題
6 這題用配方法一下就求出, 其實是二次函數(拋物線)的求極值的問題, 可以微分求, 也可以用配方法,

07 全國教甄 第二部分第6題_GeoGebra

107全國教甄第一部分第1題

107全國教甄第一部分第1題

以 GeoGebra 畫出題目的 3D 圖

以下的方法適合對中小學的同學以直觀的 GeoGebra 操作方式解題,
以下我們先在 2D 繪圖區畫出正方形 ABCD

107全國教甄第一部分第1題2D

接著用 3D 繪圖區, 畫出需要的平面, 線段等, 並測量距離, 得到近似值 0.30151, 是 1 11 \frac{1}{ \sqrt{11}} 11 1 的近似值, 所以答案是 A.

以下是畫出過C垂直xy平面的直線, 取距離是1得G
107全國教甄第一部分第1題3D_0_過G垂腺
再照題意, 用圖中的 E,F, G 去作出 斜平面,
107全國教甄第一部分第1題3D_1_斜平面

用直觀 GeoGebra 量距離的方法解題

接著介紹的方法, 適合對中小學的同學以直觀的 GeoGebra 操作方式解題,

GGB 的操作就是直接測量D投影到斜平面的點H, 得到 DH=0.30151:
2. 選上方垂直線工具鈕, 選D及斜平面, 會出現如下圖之黑色的垂線 l l l,
3. 選上方交點工具鈕, 選 l l l及斜平面, 得到交點 H,
4. 選上方畫角度工具鈕, 拉開, 有"測量距離" 鈕, 選D與H, 就得到點D到斜平面的垂直距離為 0.30151 近似值.
5. 可以在下方輸入 1/sqrt(11) 按 enter, 得到 1/sqrt(11) 近似值就是 0.30151. 從而確定 D H ≈ 1 11 DH\approx\frac{1}{ \sqrt{11}} DH11 1.

107全國教甄第一部分第1題_DH

用理論結合 GeoGebra 的方法解題

上的方法適合對中小學的同學以直觀的 GeoGebra 操作方式解題,
以下我們講述用理論結合 GeoGebra 的方法算出D到平面的距離是 1 11 \frac{1}{ \sqrt{11}} 11 1:

在 GeoGebra 可以輸入文字, 勾選 Latex , 輸入以下文字

\text{解此題的四個背景知識是 } \\
\text{1. 一般的平面方程式是 }  ax+by+cz+d=0\\
\text{2.此平面方程式之平面之法向量正是 (a,b,c)\\
\text{3. 一個點P到一個平面的距離是:} Let f(x,y,z):=\frac{ax+by+cz+d}{\sqrt{a^2+b^2+c^2}},\; dist=|f(P)|\\
\text{4. 給定兩個向量 v, w, (v,w)平面的垂直方向可以用外積得到為 }  v×w\\

Step1.\\
   根據題意, 先想法求出(a,b,c)法向量 及 d\\
\text{即先想法得出 }  ax+by+cz+d=0 :\\
找尋斜平面上兩個已知的向量 u=\overrightarrow{GF},v=\overrightarrow{GD}, 透過向量外積去求得垂直方向, \\
\text{Use} \; Cross(u, v) \text{ to get } (a,b,c)\\
GGB指令: normalVector=Cross(u,v)\\
Step2. \\
   再透過代入特定點去得到 d 值\\
\text{Take point E(1,0,0) into the plane equation ax+by+cz+d=0 to get } d=-1\\
\text{ So we get the equation is }\\
f(x,y,z):=(ax+by+cz+d)/\sqrt{a^2+b^2+c^2}=( 插入a物件x+ 插入b物件y+ 插入c物件z-1)/ \\
\text{ distance from D to the plane ax+by+cz+d=0 is}\\
f(D)

會呈現以下的文字框:
107全國教甄第一部分第1題_解題step

GGB 的操作也可以畫出 u = G F → , v = G D → u=\overrightarrow{GF},v=\overrightarrow{GD} u=GF ,v=GD
再用GGB指令計算出兩個向量的外積 u × v u\times v u×v,
從而得到對應圖中當下時刻的斜平面的法向量 就是 u × v u\times v u×v.

以下先畫出 u = G F → , v = G D → u=\overrightarrow{GF},v=\overrightarrow{GD} u=GF ,v=GD :
先選取上方工具紐 直線/向量(過兩點), 將 u = G F → , v = G D → u=\overrightarrow{GF},v=\overrightarrow{GD} u=GF ,v=GD 兩個向量畫出,
下圖是以綠色的虛線向量呈現,

107全國教甄第一部分第1題3D_1
接著在下方輸入欄位輸入:
myNormalVector=Cross(u,v) 按 enter
就會出現兩個向量的外積 u × v u\times v u×v,
下圖也是以綠色的虛線向量呈現此外積向量 myNormalVector= u × v u \times v u×v

107全國教甄第一部分第1題_myNormalVector
再由算出的垂直向量, 去得到 a x + b y + c z + d = 0 ax+by+cz+d=0 ax+by+cz+d=0 a , b , c a,b,c a,b,c,
再透過代入特定點去得到 d 值.
再令 f ( x , y , z ) : = ( a x + b y + c z + d ) / a 2 + b 2 + c 2 f(x,y,z):=(ax+by+cz+d)/\sqrt{a^2+b^2+c^2} f(x,y,z):=(ax+by+cz+d)/a2+b2+c2
接著在下方輸入欄位輸入: f ( D ) f(D) f(D)
f ( D ) f(D) f(D) 就是 D 到斜平面的距離, GGB 給出 0.30151 近似值, 就是1/sqrt(11) 的近似值.

Matplotlib 畫數學圖形

對於繪製較複雜的數學圖形, 動畫, 統計數據分析圖, 或動態模擬, 例如, Celluar Automata 細胞自動機, 迷宮, 最短路徑演算法等的動態模擬, 則 GeoGeobra 會較不適合, 此時, 使用程式語言, 例如 Python + Matplotlib 會更適合, 這一類的圖形或動畫會出現在數學系的 資料分析, 動態幾何, 演算法, 數學建模, 演化式計算, 科學計算, 人工智能等課, 或是中學的科展研究等, 的數位教材中.

詳細內容可以參考本人的網誌:

  • 賴鵬仁, Python 與數據資料分析2-資料視覺化-Matplotlib.pyplot 入門, link

  • 用 Python+Numpy+scipy 執行 Matlab 的矩陣計算 1 Python科學計算第三方庫, 原生指令, 內建模組, 外部模組 link

總 References

  • 賴鵬仁, Python 與數據資料分析2-資料視覺化-Matplotlib.pyplot 入門, https://blog.csdn.net/m0_47985483/article/details/118542127 link

  • 寫了三天,Markdown全網最全入⾨和進階教程,這次你肯定能學會, https://kknews.cc/zh-tw/news/4jy69qx.html link

  • Windows 下免費編譯 markodwn文件, Typora 網站: https://typora.io/ link

  • markdown語法 中文的說明網站: http://markdown.tw/ link

  • markdown語法 中文的重點說明: https://gist.github.com/billy3321/1001749662c370887c63bb30f26c9e6e link

  • markdown 流程图语法, https://blog.csdn.net/qq_21808961/article/details/81052243?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-5&spm=1001.2101.3001.4242 link

  • 使用 vscode 开始Markdown写作之旅, https://zhuanlan.zhihu.com/p/56943330 link

  • Day 20: 使用 VS Code 來開發 Markdown, https://ithelp.ithome.com.tw/articles/10225442 link

  • 吳漢銘教授介紹 .Rmd 檔, 用 RStudio 編譯 markdown檔: http://www.hmwu.idv.tw/web/R/F03-hmwu_R-Rmarkdown.pdf link

  • 可以即時呈現 R程式執行結果的 markdown: Rstudio支持可视化的Markdown编辑了?https://cloud.tencent.com/developer/article/1727970 link

  • MikTex 官網 https://miktex.org/ link,
    注意要有加密的站, 以免跑到假的站,

  • 大家來學 LaTeX, https://www.cs.pu.edu.tw/~wckuo/doc/latex123/latex123.html link

  • (推薦) 暗-小汐, LaTeX 各种命令,符号, https://blog.csdn.net/anxiaoxi45/article/details/39449445 link.

  • (推薦) Markdown语法和 - -LaTeX 数学记号速查手册, http://www.domuse.com/markdown-and-latex-equation-handbook.html link

  • Latex常见符号对照表, https://blog.csdn.net/zgj926503/article/details/52757631 link

  • AMS-LaTeX, http://www.ams.org/tex/amslatex.html link

  • Wiki 的數學符號指令 link

  • 從 Logo 海龜動畫繪圖 學習 Python - 高中彈性課程系列 1 課程簡介
    https://blog.csdn.net/m0_47985483/article/details/107502070 link

  • 賴鵬仁, GeoGebra 與動態幾何 20200925 申請優良教材 link

  • 賴鵬仁, 用免費的電腦資源協助數學的教學,學習與探索_復華中學教師營_中山大學應數系高中數學人才班_2021, https://blog.csdn.net/m0_47985483/article/details/113790840 link

  • GeoGebra 官網: https://www.geogebra.org/ link

  • intro-en_4_2_簡體中譯前半段_2015_103-GeoGebra-使用手冊之出處_有tangram, Geogebra 官網 之 intro-en_4_2.pdf 之前半段, 由志工翻譯成中文, link

  • GeoGebra 指令完整列表 DivisorsList等等 基隆女中上課教材1030319: link

  • geogebra与matlab,浅谈Geogebra在大学数学教学中的应用 link

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值