用matlab做矩陣運算的時候為什麼要先算條件數

2021-03-03 20:35:32 字數 1212 閱讀 3050

1樓:博觀而約取

一個矩陣

來的條件數是一個源矩陣是否良態的表徵,矩陣的bai條件數越大,du矩陣越病態,在

zhi有限精度下dao,當矩陣的條件數與10^16同階時,可認為該矩陣奇異。例如求解線性方程組時,係數矩陣條件數越大,解的穩定性越差;矩陣求逆時,條件數越大,精度越差。因此矩陣運算前算出條件數,可以對問題的好壞做出提前判斷,方便求解方法的選擇。

矩陣條件數怎麼計算?具體的步驟是什麼? 10

2樓:

矩陣a的條件數等於a的範數與a的逆的範數的乘積,即cond(a)=‖a‖·‖a-1‖

12p範數決定有3 種條件數

matlab中怎麼求得一個矩陣a的條件數啊

3樓:匿名使用者

c = cond(a,p)

第二個引數是幾正規化的條件數。

如果不寫預設為二正規化。

矩陣的條件數在多大範圍內時,它才是良態的?如何才能證明

4樓:匿名使用者

首先奇異和病態沒抄有必然的聯絡,良態、病態、條件數都要針對求解的問題而言,比如說矩陣求逆的性態和矩陣求特徵值的性態就完全是兩碼事

在2-範數擾動的意義下,矩陣求逆或者解線性方程組的時候奇異矩陣可以認為是最病態(無限病態)的矩陣,因為它有零奇異值(注意,這個問題的性態體現在奇異值而不是特徵值)

至於什麼樣的矩陣算病態,沒有絕對的標準,因為大和小是相對的概念通常病態與否也與實際計算的機器精度有關,比如ieee單精度下k=10^4算比較病態了,但在ieee雙精度下就算比較良態

matlab如何生成滿足一定條件數要求的隨機矩陣。

5樓:兔子和小強

你可以先構造特徵值,使得最大特徵值除以最小特徵值為1000,再隨機的生成正交矩陣作為特徵向量矩陣,從而重構出所要的矩陣。如下所示,構造了個3*3的矩陣,其條件數為1000:

>> v = diag([1000 20 1]); % 只要最大除最小等於1000即可

>> u = orth(randn(3, 3));

>> a = u*v*u^-1;

>> cond(a)

ans =

1000.0000

下次問程式設計類問題選擇問題分類為程式設計吧,這樣可以貼**。

matlab中怎麼樣進行矩陣逆運算和行列式計算

a 1 2 2 1 a 1 2 2 1 det a 行列式 ans 3 inv a 求逆 ans 0.3333 0.6667 0.6667 0.3333 程式 a sym s,1,0,0 0.8832 k1,s 0.0883 0.8832 k2,0.8832 k3 0.6293,0.8832 k4 ...

用matlab程式實現建立56的隨機矩陣其元素為

random floor unifrnd 100,200,5,6 random 195 176 161 140 105 120123 145 179 193 135 119160 101 192 191 181 160148 182 173 141 100 127189 144 117 189 11...

matlab含變數的矩陣相乘,matlab怎麼讓兩個矩陣內的元素對應相乘

syms x y a b c a 1 x 3 2 y 2 b 1 3 1 4 c a b 這樣就可以執行了 a x,y 1 x,3 2,y 2 b 1,3 1,4 c x,y a x,y b matlab怎麼讓兩個矩陣內的元素對應相乘?例 copya 1 2 3 4 b 5 6 7 8 得到一bai...