導航:首頁 > 編程語言 > 編程下三角矩陣

編程下三角矩陣

發布時間:2023-01-31 20:48:49

1. C語言矩陣上三角和下三角

上三角和下三角是根據主對角線來劃分的;
在你舉得列子力
123
456
789
的159就是這個這個數列的主對角線
所以
123
56
9
是上三角;
1
45
789
是下三角

2. 什麼是下三角矩陣最好能舉個例子,在數據結構中遇到

一個矩陣稱為下三角矩陣如果對角線上方的元素全部為0。類似地,一個矩陣稱為上三角矩陣如果對角線下方的元素全部為0。

3. MATLAB編程與應用系列-第3章 矩陣運算(4)

矩陣的分解是矩陣相關運算中的重要內容,MATLAB提供了用於矩陣分解運算的多種函數。本節將集中介紹MATLAB所提供的矩陣分解運算函數的功能及使用。

矩陣的三角分解又稱高斯消去法分解,它的目的是將一個矩陣分解成一個下三角矩陣L和一個上三角矩陣U的乘積,即A=LU。MATLAB提供了專門的函數lu來計算矩陣的LU分解。該函數的調用格式如下:

其中,返回矩陣U為上三角陣,矩陣L為下三角陣或其變換形式,且滿足LU=X。返回矩陣P為單位矩陣的行變換矩陣,滿足LU=PX。

奇異值分解在矩陣分析中佔有極其重要的作用。MATLAB提供了用於矩陣奇異值分解的函數svd,該函數是利用LINPACK程序庫中的ZSVDC編制而成的。在計算的過程中假如經過75步QR分解仍得不到一個奇異值,那麼系統會給出「不收斂」的提示。奇異值分解函數svd的幾種調用格式如下:

其中,命令①返迴向量s包含矩陣X分解所得到的全部奇異值向量。命令② 返回一個與X同大小的對角矩陣S和兩個酉矩陣U與V,且滿足= U S V'。命令③ 得到一個「有效大小」的分解,如果m×n維矩陣X中m>n則只計算出矩陣U的前n列,矩陣S的大小為n×n。

MATLAB提供了eig函數來對矩陣進行特徵值分解,該函數的幾種調用格式如下:

其中,①計算矩陣A的特徵值d,返回結果以向量形式存放。②計算方陣A和B的廣義特徵值d,返回結果以向量形式存放。③計算矩陣A的特徵值對角陣D和特徵向量陣V,使AV=VD成立。④計算矩陣A的特徵值對角陣D和特徵向量陣V,使AV=VD成立。當矩陣A中有與截斷誤差數量級相差不遠的值時,該指令可能更精確。'nobalance'起誤差調節作用。⑤計算矩陣A和B的廣義特徵值向量陣V和廣義特徵值陣D,滿足AV=BVD。最後一條命令⑥由flag指定演算法計算矩陣A和B的特徵值D和特徵向量V。其中,flag的可能值為:'chol' 和'qz' 。當flag值為'chol'時表示對B使用Cholesky分解演算法,其中A為對稱Hermitian矩陣,B為正定陣。當flag值為'qz'時表示使用QZ演算法,其中A、B為非對稱或非Hermitian矩陣。

MATLAB提供了chol函數來對矩陣進行Cholesky分解,該函數的調用格式為:

函數調用格式①如果X為n階對稱正定矩陣,則存在一個實的非奇異上三角陣R,滿足R'*R = X;若X非正定,則產生錯誤信息。②不產生任何錯誤信息,若X為正定陣,則p=0,R與上相同;若X非正定,則p為正整數,R是有序的上三角陣。

正交矩陣是指矩陣的列向量相互正交,且各個列向量的長度相等。QR分解就是將矩陣A分解成一個正交矩陣與一個上三角矩陣的乘積。MATLAB提供了用於矩陣QR分解的函數,表3.7中介紹用於矩陣QR分解的函數調用格式和功能。
表3.7 矩陣QR分解

Schur分解將使用schur函數,該函數的調用格式為:

命令行①-③返回正交矩陣U和schur矩陣T,滿足A = U T U'。其中,若A有復特徵根,則flag='complex',否則flag='real'。

即使是實陣,在其特徵值中也可能出現復數。實際使用中常需要把這一對對共軛復數特徵值轉化為一個(2x2)的實數塊。函數調用格式為:

MATLAB提供了gsvd函數對矩陣進行廣義奇異值分解,其具體調用格式為:

其中,函數調用格式①返回酉矩陣U和V、一個普通方陣X、非負對角矩陣C和S,滿足A = U C X',B = V S X',C' C + S' S = I (I為單位矩陣)。A和B的列數必須相同,行數可以不同。函數調用格式②和①基本相同,而③則返回廣義奇異值sigma值。

MATLAB提供了qz函數對矩陣進行特徵值問題的QZ分解,該函數的調用格式為:

其中函數調用格式①中A、B為方陣,返回結果AA和BB為上三角陣,Q、Z為正交矩陣或其列變換形式,V為特徵向量陣,且滿足Q A Z= AA 和Q B Z = BB。命令行②產生由flag決定的分解結果,flag取值為'complex'表示復數分解(默認);取值為'real'表示實數分解。

如果矩陣H的第一子對角線下元素都是0,則H為海森伯格(Hessenberg)矩陣。如果矩陣是對稱矩陣,則它的海森伯格形式是對角三角陣。MATLAB可以通過相似變換將矩陣變換成這種形式,具體調用格式為:

4. 在MATLAB里怎樣將上三角和下三角矩陣表示出來

上三角矩陣函數:

triu(A,k)%求矩陣A的第K條對角線以上的元素。

下三角矩陣函數:

tril(A,k)%求矩陣A的第K條對角線以下的元素。

例如:

tril(ones(3,3),0)

ans =

1 0 0

1 1 0

1 1 1

>> triu(ones(3,3),0)

ans =

1 1 1

0 1 1

0 0 1

(4)編程下三角矩陣擴展閱讀:

MATLAB 矩陣處理

相關函數:

zeros():產生全0矩陣,即零矩陣

ones():產生全1矩陣,即幺矩陣

eye():產生對角線為1的矩陣。當矩陣是方陣時,得到一個單位矩陣

rand():產生,(0,1),(0,1)區間均勻分布的隨機矩陣

randn():產生均值為0,方差為1的標准正態分布隨機矩陣

一些技巧:

rand()產生隨機數 x;fix(a+(b-a)*x)產生,(a,b),(a,b)區間上均勻分布的隨機整數

randn()產生隨機數 y;μ+σyμ+σy 得到均值為μμ、方差為σ2σ2的隨機數

5. 怎樣在matlab中寫出一個下三角矩陣,矩陣的元素的表達和它的位置有關,

矩陣為a,下三角塊保存到向量a中
n
=
length(a);
a
=
zeros([1,n*(n-1)/2]);
for
i=1:n;
l
=
(i-1)*(2*n-i)/2+1;
a(l:(l+n-i-1))
=
a((i+1):end,i);
end;
max(a)
很高興回答樓主的問題
如有錯誤請見諒

6. (1) 用C語言編程輸出下列倒三角矩陣

#include <stdio.h>
#define N 4
main()
{
int i,j,a[N][N]={{3,5,6,3},{0,8,9,1},{0,0,5,0},{0,0,0,7}};
for(i = 0;i < N; ++i) {
for(j = 0; j < N; ++j) {
if(j < i) printf(" ");
else printf("%3d",a[i][j]);
} printf("\n");
}
}
//這個已經試驗過了,給你的一樣,若你的數有規律,或者想要隨機數就用一樓的

7. C語言編程求矩陣的下三角之和,要有代碼的,謝謝

你的題目是統計下三角的和,對角線的值不計算在內嗎?
如果是,下面的程序1滿足要求。如果不是,對角線元素需要計算,下面的程序2滿足要求。
程序1:
#include <stdio.h>
main()
{ int a[10][10],row,col,sum=0; /* row col 控制矩陣的行、列大小 */
int i,j;
printf("Input the row and column of array divided by blank:\n");
scanf("%d%d",&row,&col);
printf("Now input %d numbers:\n",row*col);
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d",&a[i][j]);
for(i=1;i<row;i++)
for(j=0;j<i;j++)
sum+=a[i][j];
printf("The sum below diagonal line is %d\n",sum);
}
程序2:
#include <stdio.h>
main()
{ int a[10][10],row,col,sum=0;
int i,j;
printf("Input the row and column of array divided by blank:\n");
scanf("%d%d",&row,&col);
printf("Now input %d numbers:\n",row*col);
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d",&a[i][j]);
for(i=1;i<row;i++)
for(j=0;j<=i;j++)
sum+=a[i][j];
printf("The sum below diagonal line is %d\n",sum);
}

8. c語言。數據結構。設有下三角矩陣用數組A[0..10,0..10]表示,按行優先順序存放其非零元素

每個元素占兩個位元組,一個一個推就行了:
100
102
104
106
108
110
112
114
116
118
120
122
124
126
128
130
132
134
136
138
140
每放一個元素,地址加2,於是A[5,5]的地址是140

閱讀全文

與編程下三角矩陣相關的資料

熱點內容
吉利汽車軟體放哪個文件夾安裝 瀏覽:223
多文件編譯c 瀏覽:541
頭頂加密後為什麼反而更稀疏 瀏覽:793
離心機壓縮機揚程高 瀏覽:658
xshell連接linux命令 瀏覽:5
把多個文件夾的內容合並在一起 瀏覽:483
基於單片機的澆花系統設計ppt 瀏覽:685
卷積碼編解碼及糾錯性能驗證實驗 瀏覽:354
請在刪除驅動器之前暫停加密什麼意思 瀏覽:785
光催化pdf 瀏覽:98
java字元串包含某字元 瀏覽:528
ssm身份認證源碼 瀏覽:466
預排序遍歷樹演算法 瀏覽:671
加密裝置如何打開ping功能 瀏覽:478
python下載372 瀏覽:901
u盤子文件夾隱藏 瀏覽:296
本地誤刪svn文件夾 瀏覽:685
海康威視python通道名 瀏覽:241
如何用app覆蓋全部曲庫 瀏覽:602
變異布林源碼 瀏覽:686