精華區beta NTUNL 關於我們 聯絡資訊
Note該寫成什麼樣子??? 以下就是個示範... :> --- 線性系統與非線性系統 0.簡介 包含開場白, 以及對線性系統與非線性系統做個概括性的介紹. 並舉出一些線性系統與非線性系統的例子作為說明. 1.線性系統簡介 (雖然這次的題目是線性系統與非線性系統, 不過有鑑於往後的教學 內容多以非線性系統為主, 所以為平衡起見這部份反而被加強了) 1.1 線性代數 對線性代數做個快速的介紹, 內容從向量空間的線性變換與矩陣 到矩陣的固有值固有向量為止. 1.2 線性微分方程式 為保險起見, 先帶一次偏微分的定義. 再來介紹線性常微分方程 與線性偏微分方程的基本性質 -- 解的可疊加性. 不過本次不打 算講授如何解微分方程, 更不打算講 Green's function...(笑) 2.非線性系統 2.1 基本名詞介紹 介紹一些基本常用名詞的定義, 計有: # 動態系統 # 疊代 # Lyapunov exponents 2.2 混沌 介紹混沌的意義, 並強調一些基本觀念(如非線性系統不見得有 混沌, 但混沌不會出現在線性系統之類的). -- 愛因斯坦的廣義相對論 不過是另一個精緻的手編藤籃罷了. -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: h134.s97.ts.hin > -------------------------------------------------------------------------- < 作者: Keelungman (李登輝你要去哪邊散步啊?) 看板: NTUNL 標題: [稿件] 線性系統與非線性系統 時間: Sat Oct 30 07:56:48 1999 0. 簡介: 系統的線性與非線性 無論是自然界, 還是人類的社會中, 到處存在形形色色各式各樣複雜的系統. 人們為了掌握系統的狀態, 使用一組變數或是函數來描述系統, 當作觀測和記 錄系統的依據. ex. 一張桌子的成本可以用一個正實數 C 來表示. ex. 水波的形狀可以表示成形狀為 h(X, Y, t) 的函數. ex. 用 X, Y, Z 三個變數可以描述一粒球的位置. 在同時, 大家發現到這些系統的狀態並不是完全地被確定下來的. 它們的狀態 多半還受到外來條件的左右: ex. 一捆木材的價格 A 元, 一桶油漆價格 B 元, 而且還要考慮桌子使用原料 的份量比, 才可決定桌子的成本. ex. 波浪製造機在岸邊製造波浪, 所製造出來的水波決定於機器的位置 X, Y; 機器占據水面的形狀 S(X, Y) = 0; 以及振動幅度與時間的關係 H(t) . ex. 投球的初始速度 Vx, Vy, Vz 可以決定十秒後這個球離你的相對位置 X, Y, Z . 當這些外來條件變化時, 將會影響系統所表現的狀態. 經由經驗的累積, 人 們發現到: 這些五花八門的系統, 其實可以從條件的變化對系統的影響, 分成 兩大類: 一種是線性系統, 另一種是非線性系統. 這兩類系統的展現可說是大 相異趣. 線性系統的定義是: 若有個系統 L 與其中的自變數 X, Y 和實數 a, b 有 L(aX + bY) = aL(X) + bL(Y) 的關係, 則稱這個系統 L 為"線性系統". 在這裡的 L, X 或 Y 可以是單純的 數字, 某種函數(如: L(s, t) [注], X(u, v), Y(u, v)), 甚至也可以是一組 數所組成, 也就是所謂的"向量": X = (X1, X2, ..., Xn) ; Y = (Y1, Y2, ..., Yn) 當然 aX = (aX1, aX2, ..., aXn) X + Y = (X1 + Y1, X2 + Y2, ..., Xn + Yn) 這樣的"一組數"觀念還可以推廣到矩陣等可以行"加法", 以及"乘法"的數學元 素上. 相對的, 只要不是線性系統的, 我們都可以稱之為非線性系統. [注] 這裡的 L(s, t) 的涵義和 L(X) 不同: L(X) 表示系統 L 受到外界條件 X 所左右; 而 L(s, t) 表示我們要描述系統 L 的值必須使用兩個變數 s, t 當索引來作為描述系統 L 的值 -- 也就是我們使用一個函數 L(s, t) 來描述 系統 L. 比方說前面我們所提到的水波, 我們必須使用像是"h(X, Y, t)"的形式才能 表達出整個水波完整的狀態. 然而控制整個水波的外來條件有機器的位置 X, Y 等; 機器占據水面的形狀 S(X, Y) = 0; 以及振動幅度與時間的關係 H(t). 這些東西放進 h 中 , 形成像是 h(X, Y, S(X, Y) = 0, H(t)) 的樣子. 這些 才是這系統中有意義的自變數, 我們所要討論的"線性"是針對著這類自變數而 來的. 另外, 我們可以用這樣的記號表達這類 L 的關係: L: X(u, v) → L(s, t) [討論] 前面所舉的三種例子中, 何者是線性系統, 何者是非線性系統呢? 1. 線性系統 之所以會去區分出線性系統與非線性系統, 是因為線性系統有一種令人著迷 的性質, 使得我們對於處理這類系統行為有相當大的便利. 那就是 "可疊加性". 一般來說, 知道 X 而要來算 L(X) 總是滿麻煩的; 今天如果我們還想知道 aX 對 L 的影響 L(aX), 那麼還要將 aX 代入 L 中再算一次! 這不是很累人 嗎? 如果系統是線性的, 則 L(aX) = aL(X), 我們就可以很快地知道結果了. 廣泛地說, 若我們已知 X, Y 和 L(X), L(Y), 想要知道這系統在新的自變數 Z = aX + bY 之下的狀態 L(Z) (要記得, X 和 Y 不見得只是實數, 也可能是 向量或函數) : L(Z) = L(aX + bY) = aL(X) + bL(Y) 用不著再辛苦地把 aX + bY 代入 L 裡面. 接著我們將對線性系統做更進一步的介紹 1.1 線性方程式的解 前面所提到的情形, 多是先知道 X 然後求 L(X). 如果我們知道 L(X) = L 反推 X, 也就是解 L(X) = L 的"線性方程式"的話, 究竟 L(X) 的線性性質會 對我們有怎樣的幫助呢? 這就是我們等一下所要探討的問題. 首先, 如果我們能直接找到"反函數"的關係, 那麼要解這類問題就會比較方 便了. 如果我們對所要解的系統 L(a) = b 找到另一種相對的系統 L~(b) = a 時, 我們可以直接拿這個系統 L~ 來解我們所想要解的問題. [討論] 如果是 L 線性系統, 則 L~ 也是線性系統嗎? 如果我們無法直接求出這種反函數的關係時, 又該怎麼辦呢? 對於不同類型 的系統, 可能求解的方法都會不太一樣. 但我們還是可以從線性系統的性質得 到一些在求解時的幫助. 接著, 我們來討論最簡單的情形, 也就是 L(X) = 0. 在一般的狀況之下, X 是一個向量或是函數(如果 X 是實數的話將會怎樣呢?). 而且有時會有兩個以 上"線性獨立"的解, 也就是說 X1, X2 都是 L(X) = 0 的解, 而 X2 =/= aX1. 這時候我們不難發現 aX1 + bX2 也是滿足 L(X) = 0 的一解. 因為 L(aX1 + bX2) = aL(X1) + bL(X2) = 0 + 0 = 0 這邊我們發現到一點: 只要我們能找到 N 個彼此獨立的 L(X) = 0 的解, 那麼 所有能夠用這 N 種狀態所線性組合出的新狀態, 也都是 L(X) = 0 的解. 接著我們來看 L(X) = L, L =/= 0 的情形. 如果 L(X) = L 的解是 X1, X2, 那 aX1 + bX2 會不會也是 L(X) = L 的函數呢? 很可惜, 不是: L(aX1 + bX2) = aL(X1) + bL(X2) = aL + bL =/= L 不過呢, 如果我們把 L(X) = L 的解 X0 和 L(X) = 0 的解 X1, X2, ..., XN 組合成 X0 + a1 X1 + a2 X2 + ... + aN XN , 則: L(X0 + a1 X1 + a2 X2 + ... + aN XN) = L(X0) + a1 L(X1) + a2 L(X2) + ... + aN L(XN) = L + 0 + 0 + ... + 0 = L 所以 X0 + a1 X1 + a2 X2 + ... + aN XN 也算是 L(X) = L 的一解. 1.2 向量, 矩陣與簡單的線性代數 這是一種相當簡單, 卻又十分普遍的線性系統: L = L(X) , 其中 L = (L1, L2, ..., LM) X = (X1, X2, ..., XN) 而 L1 = a11 X1 + a12 X2 + ... + a1N XN L2 = a21 X1 + a22 X2 + ... + a2N XN . . . LM = aM1 X1 + aM2 X2 + ... + aMN XN 如果每一次都要用這麼複雜的手法來描述 L 與 X 的關係, 那實在是太不方便 了. 如果我們將 L 與 X 當作向量, 並引入矩陣與向量的乘法來表示 L 與 X 的關係, 就會簡化許多了: MX = L 其中 ╭ ╮ ╭ ╮ ╭ ╮ │a11 a12 . . a1N│ │X1│ │L1│ │a21 a22 . │ │X2│ │L1│ M = │ . . . │ , X =│ .│ , L =│ .│ │ . . . │ │ .│ │ .│ │aM1 . . . aMN│ │XN│ │LM│ ╰ ╯ ╰ ╯ ╰ ╯ [討論] M(aX1 + bX2) = a MX1 + b MX2 ? 最常出現這種線性變換的場合, 是在座標變換上. 對於同一個向量而言, 用 不同的座標系去紀錄它, 往往可以測出不同的向量值. 假設我們在一個 N 維空 間中, 用 A 座標系為基準測一個向量, 得出 X; 用 B 座標系為基準去測量, 得出 Y. 我們可以利用矩陣 M, 將 X 和 Y 連接起來: MX = Y 由於 X 和 Y 都是 N 維度, 顯而易見 M 必然是個 N ╳ N 的矩陣. 一般來說 如果我們知道 x, 就很容易地求出 y 來; 但是如果只知道 y, 那要如何倒推求 出 x? 這就相當於解方程式了. 這種狀況下, 我們要求一種矩陣M~, 使得 M~Y = X 很明顯的, M~ ╳ M = Ι, 其中 Ι 是 N ╳ N 的單位矩陣. 於是 M~ 就是 M 的反矩陣. 我們可以用"增廣矩陣"的方式解出反矩陣. 有一種相當有趣的方程式, 常常在這類座標轉換的場合中出現. 如果一個向 量 X 經過 M 的作用後, 只有長度改變, 而方向仍然指向原來的 X 方向, 則 這種的方程式可以寫成這樣: MX = l*X 這邊 l 為一純量. 乍看之下這種方程式十分奇特, 但是我們可以這麼解: 由於 l*X = lΙX → (M - lΙ)X = 0 我們在這邊已經將題目化成"L(X) = 0"的形式. 雖然在這邊好像還有個問題: 就是連 L 本身都是不確定的, 但是我們從一次聯立方程式的經驗了解到: 因為 在這邊 X 並非 0 向量, 所以必有 M - lΙ 的行列式 det(M - lΙ) = 0. 如此就可以從 l 的 N 次方程式中解出各種滿足條件的 l 值, 也就是說: L 再 也不是全然的不確定了. 不同的 l 個別對應不同的 L, 也對應著不同的 X, 而 X 是"一個向量乘以任意實數", 或是"一組向量的任意線性組合". 在線性代數 中, 對於滿足 MX = l*X 式子的 l 和 X, 我們分別稱之為 M 的"本徵值" (eigenvalue)以及"本徵向量"(eigenvector). 本徵向量與本徵值在線性代數的應用上有許多非常重要的價值, 不過由於篇 幅關係在這邊無法做更進一步的呈述. 若想要深入學習, 可以參考其他線性代 數的專書. [討論] 如何計算一個在二度空間的向量 (x, y) 被逆時針旋轉 θ 角後的值 (x', y')? 說明這操作是線性的, 並以矩陣來表示這個操作. 1.3 線性微分方程式 微分是指當系統的值對應參數改變時所得到的改變率. 若有一個函數: f: x → f(x) 則 f(x) 對 x 的微分是 f(x+Δx) - f(x) df/dx ≡ lim ———————— Δx → 0 Δx 基本上, f(x) 經微分運算後所得出的 df/dx 也是一個函數, 我們可以稱之為 f'(x). 如果我們換個角度來看, 我們可以把 "微分運算" 本身當作一種特殊 的系統, 這種系統我們從外加進去的是一個函數 f(x), 而系統所展現出來的 就是函數 f'(x). d/dx: f(x) → f'(x) 很明顯的這種系統是線性的: d (f(x) + g(x)) (f(x+Δx) - f(x)) + (g(x+Δx) - g(x)) ———————— = lim ——————————————————— dx Δx → 0 Δx (f(x+Δx) - f(x)) (g(x+Δx) - g(x)) = lim ————————— + lim ————————— Δx → 0 Δx Δx → 0 Δx = df(x)/dx + dg(x)/dx 如果我們定義二次微分 2 d f(x) d df(x) ——— ≡ —— (———) 2 dx dx dx 這樣的系統也將是線性的. 不只是如此而已, 任意高次微分的運算都將是線性 的. [討論] 說明二次微分運算是線性的 如果一個方程式裡面包含未知項對微分的運算的話, 那麼我們稱這種方程式 為"微分方程式". 如果這個微分方程式滿足線性方程式的條件, 那麼這個微分 方程式便可稱為"線性微分方程式". 下面有一個微分方程式: dX(t) ——— + α(t) * X(t) = 0 dt 如果有兩個滿足這個方程式的解 X1(t) 與 X2(t), 則 aX1(t) + bX2(t): d(aX1(t) + bX2(t)) ————————— + α(t) * (aX1(t) + bX2(t)) dt dX1(t) dX2(t) = a (——— + α(t) * X1(t)) + b (——— + α(t) * X2(t)) dt dt = 0 故我們可得知這個微分方程式也是線性方程式, 所以這是個線性微分方程式. 基本上, 這種線性微分方程式可以推廣成一個普遍的形式: 如果我們定義 N (N) (0) 次微分為 f (x), f (x) ≡ f(x), 則 N (n) Σ α (x) * f (x) = 0 n=0 n 也將是個線性微分方程式; 這方程式的解 f1(x), f2(x), ... 都可以線性疊 加起來, 產生新的滿足該方程式的解. 通常, 我們稱這種在方程式為"齊次微 分方程式", 相當於對應到前面"L(x) = 0"這種類型的線性方程式. 既然前面這類的微分方程式, 以線性方程式的分類, 是屬於"L(X) = 0"的形 式. 那麼"L(X) = L"又是怎樣的呢? 下面就是其中一種這類的微分方程式: N (n) Σ α (x) * f (x) = α(x) n=0 n 對於這種微分方程式, 我們參考前面對於線性方程式的解的性質, 我們發現實 際上這一類的微分方程式的解, 是由兩種的解疊加起來的: 一種是直接滿足這 個方程式的解, 我們稱之為"特解"; 另一種是滿足 α(x) = 0, 也就是齊次微 分方程式的解. 只有我們把特解和各齊次解的線性組合相加以後才是真正完整 的解, 我們稱之為"通解". 也就是說, 特解相當於 L(x) = L 的解, 而其他齊 次的解相當於 L(x) = 0 的解. 若我們有一個特解為 f0(x), 而其他的齊次解 為 f1(x), f2(x), ..., 則通解就是 f0(x) + a1 f1(x) + a2 f2(x) + ...... 2. 進入非線性系統之前... 從這邊開始, 我們即將進入非線性的領域. 雖然有許多重要的系統是線性系 統, 但是論數量種類還是以非線性系統居多. 不過非線性系統不像線性系統一 般有許多簡潔漂亮的性質, 比方說非線性方程式的解無法任意疊加出新的解. 所以除了極少數的系統以外, 大部分的非線性系統往往令人感到陌生疑惑, 乃 至於束手無策. 因為這種困難, 所以非線性系統的大部分領域一直都是學術界的"化外之地", 直到電腦的發明, 讓人直接利用強大的運算力, 將整個非線性系統的運作情形 徹底展現. 非線性系統複雜而精妙的體系, 叫人嘖嘖稱奇. 如果線性系統像乾 淨無暇, 有如潔白冷酷的冰晶世界的話, 那麼非線性系統就是那種熱鬧喧囂, 卻又龐雜不已的熱帶叢林了. 接下來將要來做個概括性的提要, 對於我們即將 踏入的 "非線性領域" 做個行前準備. 2.1 動態系統簡介 動態系統是一種系統狀態會隨著時間不斷地演化的系統, 但是每一時刻系統 的狀態都完全受到上一時刻的系統狀態來決定. 比方說行星繞日的運動就是一 種動態系統: 我們可以用位置向量和速度向量來紀錄行星的狀態; 同時我們只 要知道某個時刻這行星的速度和位置, 我們就可以決定下一個時刻它的位置和 速度. 如果影響系統演化的變數不僅僅只有系統自身的狀態, 還加上其他種種 不同的外來條件, 如股票的指數: 若光只有看前一刻的指數, 根本無法知道接 下來到底會漲還是跌... 以前面所介紹的式子來表達, 若系統的狀態以 X 來表示, 則 X = F(X ) t t N+1 N 如果對這個系統來說這種演化的過程是離散, 則可以直接寫成 X = F(X ) N+1 N 有時我們稱這種離散的動態系統由前一點演化到下一個點的過程叫做"映射". 如果這個系統對時間的演化是連續的, 則把式子寫成"系統狀態對時間的改變 率是系統狀態的函數"將會比較方便. 這並不違反我們對於動態系統的定義. 以下是這種系統的微分方程式表示法: dX —— = f(X) dt [討論] 請各舉出離散的與連續的"線性"動態系統 在這邊必須強調一點: 既然動態系統的特點是: 只要我們知道這個時刻的系 統狀態, 就能夠確定下一時刻的狀態. 那麼我們既然也掌握了下個時刻的系統 狀態, 不也同時確定下下個時刻的系統狀態? 這樣子推下去直到無限, 正意味 著: 只要我們能夠知道動態系統在某個時刻的狀態, 那接下來任一時刻的系統 狀態就完全被確定了下來. 無論哪一種動態系統, 就連混沌動態系統在內, 都 必定滿足這個條件. 以下所要談到的非線性代數方程式以及非線性微分方程式, 都是限定在動態 系統的範圍. [討論] 在我們的週遭可以找到那些系統是動態系統? 2.2 非線性代數方程式 前面我們提到的線性代數, 它們的方程式由於繼承線性系統的特質, 所以構 造相當簡潔明確. 但是對於非線性的代數方程式而言卻不存在如此的規律性. 就算是一維的系統也是相當複雜的. 比方說著名的 logistic 映射: X = μ X * (1 - X ) N+1 N N [討論] 證明上面的式子是非線性的 基本上這類非線性代數微分方程式所構成的動態系統, 是屬於離散的動態系統. 當方程式的係數 μ 改變時, 整個系統的行為將會截然不同. 比方說 μ < 3.0 的時候, 整個系統將會朝著一個固定點靠近; 而當 3.45 < μ < 3.0 時系統會 逐漸往兩的固定點靠近而來回震盪著... 如果系統大於一維, 則整個系統演化的表現將會更加複雜, 甚至這些點的分 布會變成一個不屬於整數維度的破碎圖形, 我們稱之為"碎形", 而那種運動狀 態我們稱之為"渾沌". 總而言之這些奇特的現象是在當初線性代數中未曾出現 的. 關於什麼是"碎形"以及關於各種"映射"的詳細討論, 將在後面的讀書會之 中慢慢介紹. 2.3 非線性微分方程式 假設以微分方程式所表達的動態系統, 它的解是 X(t), 如果它是屬於非線性 系統, 那表示在該微分方程式 dX —— = f(X) dt 2 中的 f(X) 內, 包含著 X 的某些分量(如 Xn)的非線性項(如 Xn ). 比方說下 面的一個方程式 dX1 —— = a X2 dt dX2 3 —— = -b X1 dt [討論] 證明上面的式子是非線性的 通常來說非線性微分方程式的動態系統如果只有一或兩維, 則結構多半都相 當單純, 往往不是往無限遠的地方跑, 掉進某個點, 不然就是繞著一個圈子打 轉(當然一維的不會); 但是等到三維以上, 整個軌跡將有可能會亂七八糟, 分 布在一個碎形之中. 這也是線性微分方程式所不會碰到的. 關於它們的詳細討 論將在後面的讀書會之中慢慢介紹. -- 愛因斯坦的廣義相對論 不過是另一個精緻的手編藤籃罷了. -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: h117.s76.ts30.hinet.net