C 利用二維陣列求解線性方程組

2021-10-25 09:13:21 字數 1879 閱讀 9411

二維陣列本質上是以陣列作為陣列元素的陣列,即「陣列的陣列」,型別說明符

陣列名[常量表示式][常量表示式]。二維陣列又稱為矩陣,行列數相等的矩陣稱為方陣。對稱矩陣a[i][j] =

a[j][i],對角矩陣:n階方陣主對角線外都是零元素。

那接下來我們就利用二維陣列來解決實際數學問題——解線性方程組

廢話不多說,直接上**

#include

"stdafx.h"

#include

using

namespace std;

int_tmain

(int argc, _tchar* ar**)

;double n , sum , culminate =1;

double x[m]

;int i =

0, ra =

0, j;

bool flag =0;

cout<<

"請輸入"

<"個方程"

<"個未知量的線性方程組的係數"

(i < m)

//判斷方程組的型別

for(

int i =

0;i < m;i++)}

//控制高斯消元法的迴圈次數(控制列)

for(

int i =

0;i < m-

1;i++);

for(

int r =

0; r < k; r++)}

}}//控制行

for(

int j = i+

1;j < m;j++)}

//輸出簡化矩陣

cout<"-------矩陣化簡為階梯型矩陣-------"

int i =

0;i < m;i++

)//求解方程組

for(

int i =

0; i < m; i++

)for

(int j =

0; j < k; j++)if

(i == j)

culminate *

= arr[i]

[j];

if(flag ==

0&& culminate ==0)

cout<"-------線性方程組有多解-------"

0&& culminate !=0)

//輸出解

for(

int i =

0;i < m;i++

) cout<<

"x"<1<<

" = "

<<<

"\t"

<<

"\t"

; cout<}for

(int i =

0; i < m; i++)}

if(j == m-

1&& arr[i]

[j]==0)

}if(flag ==

1&& ra < m)

cout<"-------線性方程組有多解!-------"

1&& ra == m)

//輸出解

for(

int i =

0;i < m;i++

) cout<<

"x"<1<<

" = "

<<<

"\t"

<<

"\t"

; cout<}system

("pause");

return0;

}

MATLAB 線性方程組求解

clc,clear all close all 高斯消去法 a 2 3 4 3 5 2 4 3 30 線性方程組的係數矩陣 b 6 5 32 線性方程組的右端列向量 m,n size a 測量係數矩陣的維數 if m n fprint 線性方程組的係數矩陣非方陣 break end fprintf ...

MATLAB線性方程組求解

對於一般的,有唯一解的線性方程組,我們可以轉換成矩陣的形式 a x bax b ax b 則可以用矩陣運算求解x,即x a b 求解齊次線性方程組基礎解系的函式是null z null a 表示返回矩陣a的基礎解系組成的矩陣。z還滿足ztz i z null a,r 得出的z不滿足ztz i,但得出...

SVD求解線性方程組

對於任一給定的矩陣am n boldsymbol am n 都存在這樣的分解 a u dv t boldsymbol boldsymbol boldsymbol boldsymbol t a udvt 這裡 u boldsymbol u是乙個 m m m times m m m 的正交矩陣,d bo...