国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

這篇具有很好參考價值的文章主要介紹了MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

工程和科學計算的許多基本方程都是建立在守恒定律的基礎之上的,比如質量守恒等,在數(shù)學上,可以建立起形如 [A]{x}= 的平衡方程。其中{x}表示各個分量在平衡時的取值,它們表示系統(tǒng)的狀態(tài)響應;右端向量由無關系統(tǒng)性態(tài)的常數(shù)組成通常表示為外部激勵。矩陣A則表示為由系統(tǒng)各部分相互作用或耦合關系的參數(shù)組成的系數(shù)矩陣。在工程上則意味著[相互作用][響應]=[激勵]。

對于單個方程,可以采用前面介紹的一些求根法加以求解,然而事實上還有一些關系式是彼此相互耦合的,比如復雜電路的基爾霍夫定律。這就需要將這些關系式表示為一個線性代數(shù)方程組。下面就此問題介紹MATLAB求解線性代數(shù)方程組的一些方法,重點介紹高斯消元法。


目錄

一、取逆和“左除”

取逆

左除

二、克萊姆法則

代碼實現(xiàn):

問題求解:

三、高斯消元法

原理:

代碼實現(xiàn):

問題求解:

四、三對角方程組的求解

代碼實現(xiàn):

問題求解:


一、取逆和“左除”

對于形如 A*x=b的線性代數(shù)方程組,MATLAB提供了兩種直接求解的方法:取逆 和“左除”。

  • 取逆

? ? ? ? MATLAB的矩陣取逆函數(shù)為inv(A)

? ? ? ? 故???x=inv(A)*b

  • 左除

? ? ? ? x=A\b


二、克萊姆法則

學習過線性代數(shù)的同學應該對克萊姆法則并不陌生,這里不再贅述,只是講一下在MATLAB中的實現(xiàn):

問題:求解

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

代碼實現(xiàn):

A=[0.3 0.52 1;0.5 1 1.9;0.1 0.3 0.5];
b=[-0.01 0.67 -0.44]';
D=det(A);
A(:,1)=b;
x(1)=det(A)/D;
A=[0.3 0.52 1;0.5 1 1.9;0.1 0.3 0.5];
A(:,2)=b;
x(2)=det(A)/D;
A=[0.3 0.52 1;0.5 1 1.9;0.1 0.3 0.5];
A(:,3)=b;
x(3)=det(A)/D;
x

問題求解:

>> Clem
x =
  -14.9000  -29.5000   19.8000

三、高斯消元法

對于小型方程,使用克萊姆法則還是很方便的,但工程上往往面對的是龐大的方程組問題,這個時候僅僅用克萊姆法則是萬萬不夠的。

高斯消元法盡管是求解聯(lián)立方程組最古老的方法之一,但直到今天依然是實際應用中最為重要的方法之一。

原理:

一般方程組(A*x=b):

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

步驟:向前消元-->向后回代

向前消元:第一階段是將A矩陣消為一個上三角矩陣。方法是將第一個方程左右同時乘以

然后用第二個方程去減它這樣就消掉了.

類似的,反復這樣進行,就可以將原方程組變換為新的“上三角方程組”。

向后回代:第二個階段是利用“上三角方程組”解出x。

首先解出然后將其帶入倒數(shù)第二個方程,求解,以此類推。

這樣就成功的解出了x。

然而,不知道大家發(fā)沒發(fā)現(xiàn),如果在執(zhí)行向前消元時遇到=0,或者很小很小,這樣就遇到了一個問題——“除數(shù)不可以為0”,這就需要每一次執(zhí)行的時候選出最大的數(shù)作為“主元”,將主元作為新的“除數(shù)”。

稱之前的高斯法叫樸素的高斯消元法,后者為選主元的高斯消元法。

代碼實現(xiàn):

function x = GaussPivot(A,b)
%%建立高斯消元法的實現(xiàn)代碼
%求解方程A*x=b
%步驟:
%(1)向前消元;
%(2)向后回代。
%%輸入:
%A=系數(shù)矩陣
%b=右向量
%%輸出:
%x=方程的解向量

[m,n]=size(A);
if m~=n,error("系數(shù)矩陣須為方陣");end
nb=n+1;
Aug=[A b];
%向前消元
for k=1:n-1
    %選主元(max函數(shù)可以傳回最大值和最大值索引)
    [big,i] = max(abs(Aug(k:n,k)));
    ipr = i+k-1;
    if ipr~=k
        Aug([k,ipr],:) = Aug([ipr,k],:);%交換:將絕對值大的數(shù)作主元
    end
    for i=k+1:n
        factor = Aug(i,k)/Aug(k,k);
        Aug(i,k:nb) = Aug(i,k:nb)-factor*Aug(k,k:nb);
    end
end
%向后回代
x = zeros(n,1);%創(chuàng)建解向量
x(n)=Aug(n,nb)/Aug(n,n);%先求出最后一個值
for i=n-1:-1:1
    x(i)=(Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
end
end

問題求解:

問題:

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

%%高斯消元法
A=[0.3 0.52 1;0.5 1 1.9;0.1 0.3 0.5];
b=[-0.01 0.67 -0.44]';
x = GaussPivot(A,b)

?結果:

>> GaussPivot_test
x =
  -14.9000
  -29.5000
   19.8000

?四、三對角方程組的求解

工程上經(jīng)常遇到形如如下的方程組:

MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法

求解步驟依然是向前消元-->向后回代,只不由于A的稀疏性,再使用高斯消元法就太消耗時間了,書中專門為其設計了代碼

代碼實現(xiàn):

function x = Tridiag(e,f,g,r)
%求解三對角方程組
%   由于三對角方程的系數(shù)矩陣稀疏,運算量與n成正比,而不是高斯消元的n^3
%%輸入:
%e =下對角線
%f = 主對角線
%g =上對角線
%r = 右向量
%%輸出:
%x=方程的解向量
n=length(f);
for k=2:n
    factor=e(k)/f(k-1);
    f(k)=f(k)-factor*g(k-1);
    r(k)=r(k)-factor*r(k-1);
end
x(n)=r(n)/f(n);
for k= n-1:-1:1
    x(k)=(r(k)-g(k)*x(k+1))/f(k);
end

問題求解:

就上述問題進行求解

e=[0,-1,-1,-1];
f=[2.04,2.04,2.04,2.04];
g=[-1,-1,-1,0];
r=[40.8,0.8,0.8,200.8];
x = Tridiag(e,f,g,r)
>> Tridiag_test
x =
   65.9698   93.7785  124.5382  159.4795

聲明:文章來源于筆者學習【美】Steven C. CHapra所著,林賜譯 《工程于科學數(shù)值方法的MATLAB實現(xiàn)》(第4版)的筆記,如有謬誤或想深入了解,請翻閱原書。文章來源地址http://www.zghlxwxcb.cn/news/detail-413963.html

到了這里,關于MATLAB數(shù)值分析學習筆記:線性代數(shù)方程組的求解和高斯消元法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 線性代數(shù):齊次線性方程組學習筆記

    齊次線性方程組是指所有方程的常數(shù)項均為零的線性方程組,即形如 A x = 0 Ax=0 A x = 0 的方程組。 其中,矩陣 A A A 是一個 m × n m times n m × n 的矩陣,向量 x x x 是一個 n n n 維列向量, 0 mathbf{0} 0 是一個 m m m 維零向量。 齊次線性方程組有以下性質: 1. 性質1 齊次線性方程組的

    2024年01月20日
    瀏覽(32)
  • 數(shù)值線性代數(shù): Krylov子空間法

    本文旨在總結線性方程組求解的相關算法,特別是Krylov子空間法的原理及流程。 注1:限于研究水平,分析難免不當,歡迎批評指正。 注2:文章內容會不定期更新。 對于、,若矩陣第行第列元素的共軛等于矩陣第行第列元素,即,則稱矩陣是矩陣的共軛轉置矩陣,記作。 可

    2024年02月13日
    瀏覽(20)
  • 線性代數(shù):正交變換學習筆記

    在線性代數(shù)中,如果一個矩陣 A A A 滿足 A T A = A A T = I A^T A = A A^T = I A T A = A A T = I ,則稱其為正交矩陣。正交矩陣也常被稱為正交變換。 正交變換是線性變換的一種特殊形式,它不改變向量的長度和夾角。因此,它可以用來描述旋轉、鏡像等幾何變換。 正交矩陣有以下性質:

    2024年02月03日
    瀏覽(32)
  • 深度學習筆記之線性代數(shù)

    深度學習筆記之線性代數(shù)

    一、向量 在數(shù)學表示法中,向量通常記為粗體小寫的符號(例如, x , y , z )當向量表示數(shù)據(jù)集中的樣本時,它們的值具有一定的現(xiàn)實意義。例如研究醫(yī)院患者可能面臨的心臟病發(fā)作風險,用一個向量表示一個患者,其分量為最近的生命特征、膽固醇水平、每天運動時間等

    2024年02月08日
    瀏覽(29)
  • 線性代數(shù):增廣矩陣學習筆記

    定義 對于一個 n × m ntimes m n × m 的矩陣 A = [ a i j ] A=[a_{ij}] A = [ a ij ? ] ,我們可以在它的右邊加上一個 n × 1 ntimes1 n × 1 的列向量 b b b ,得到一個 n × ( m + 1 ) ntimes(m+1) n × ( m + 1 ) 的矩陣 [ A ∣ b ] begin{bmatrix} A bigl| bend{bmatrix} [ A ? ? ? b ? ] ,這個矩陣被稱為 A A A 的

    2024年02月05日
    瀏覽(31)
  • 線性代數(shù)——高斯消元 學習筆記

    消元法 消元法是將方程組中的一方程的未知數(shù)用含有另一未知數(shù)的代數(shù)式表示,并將其帶入到另一方程中,這就消去了一未知數(shù),得到一解;或將方程組中的一方程倍乘某個常數(shù)加到另外一方程中去,也可達到消去一未知數(shù)的目的。消元法主要用于二元一次方程組的求解。

    2024年02月08日
    瀏覽(56)
  • 【算法小記】——機器學習中的概率論和線性代數(shù),附線性回歸matlab例程

    【算法小記】——機器學習中的概率論和線性代數(shù),附線性回歸matlab例程

    內容包含筆者個人理解,如果錯誤歡迎評論私信告訴我 線性回歸matlab部分參考了up主DR_CAN博士的課程 在回歸擬合數(shù)據(jù)時,根據(jù)擬合對象,可以把分類問題視為一種簡答的邏輯回歸。在邏輯回歸中算法不去擬合一段數(shù)據(jù)而是判斷輸入的數(shù)據(jù)是哪一個種類。有很多算法既可以實現(xiàn)

    2024年01月24日
    瀏覽(29)
  • 數(shù)值線性代數(shù):Arnoldi求解特征值/特征向量

    線性方程組求解 、 最小二乘法 、 特征值/特征向量求解 是(數(shù)值)線性代數(shù)的主要研究內容。 在力學、氣象學、電磁學、金融等學科中,許多問題最終都歸結為特征值、特征向量的求解。 ARPACK 使用 IRAM ( Implicit Restarted Arnoldi Method )求解大規(guī)模系數(shù)矩陣的部分特征值與特征向量

    2024年01月18日
    瀏覽(24)
  • 線性代數(shù):克萊姆法則學習筆記

    克萊姆(Cramer)法則又稱為克拉默法則,是在線性代數(shù)中解決線性方程組問題的一種方法??巳R姆法則的基本思想是通過用系數(shù)矩陣的行列式來判斷線性方程組是否有唯一解,從而進一步求出各個未知數(shù)的值。其原理基于克萊姆定理: 對于 n 元線性方程組 Ax = b,如果系數(shù)矩

    2024年02月08日
    瀏覽(28)
  • 線性代數(shù):約當標準型學習筆記

    線性代數(shù)是數(shù)學中重要的分支之一,在各個領域中都有廣泛的應用。其中,矩陣的基本理論與方法是線性代數(shù)的重點和難點。本文主要介紹線性代數(shù)中的一種特殊矩陣形式:約當標準型。通過對約當標準型的定義、求法、性質及應用的介紹,希望讀者能夠深入理解和應用矩陣

    2024年02月04日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包