1樓:創舊黃
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
int rgauss(n,a,b)
int n;
double a,b; }
if (d+1.0==1.0) l=0;
else
if (is!=k)
t=b[k]; b[k]=b[is]; b[is]=t;
} }if (l==0)
d=a[k*n+k];
for (j=k+1;j<=n-1;j++)b[k]=b[k]/d;
for (i=k+1;i<=n-1;i++)b[i]=b[i]-a[i*n+k]*b[k];
} }d=a[(n-1)*n+n-1];
if (fabs(d)+1.0==1.0)b[n-1]=b[n-1]/d;
for (i=n-2;i>=0;i--)
js[n-1]=n-1;
for (k=n-1;k>=0;k--)
if (js[k]!=k)
free(js);
return(1);
} 徐世良老師的.原地工作全選主元的高斯消元.用的符號有點詭異,而且將矩陣以線性表輸入的.
我也寫過一個,不過估計你不太喜歡用我的,這個用來解b也是矩陣的.
#include
#include
#include
void swap(double *a,double *b)void printmatrix(int n,int m,double **a)
} }if (d+1.0==1.0)
else
void main();
double input_b=;
double *a[n],*b[n];
int i;
for (i=0;i rgauss(n,m,a,b); printf("方程解為:\n"); printmatrix(n,m,b); printf("\n");} 2樓:查素滕河 給,下面的**已經編譯執行確認,肯定好用了,試試吧:)#include #include #include #include #define number 20#define esc0x1b #define enter 0x0d float a[number][number+1] ,ark; intflag,n; void exchange(int r,int k);float max(int k);void message(); intmain() for(k=1;k<=n-1;k++) else if(flag!=k) exchange(flag,k); for(i=k+1;i<=n;i++) for(j=k+1;j<=n+1;j++)a[i][j]=a[i][j]-a[k][j]*a[i][k]/a[k][k]; }x[n]=a[n][n+1]/a[n][n]; for( k=n-1;k>=1;k--) x[k]=(a[k][n+1]-me)/a[k][k]; }for(i=1;i<=n;i++) message(); getch(); return1;} void exchange(int r,int k)/*交換行的矩函式*/ float max(int k)/*比校係數大小的函式*/ return temp; }void message() /*實現選單選擇的函式*/}} 3樓:匿名使用者 可以用列主元素高斯消去法做。 你去搜一下吧,演算法不麻煩,但是我也懶的寫了。。 4樓: 對於我這種不懂的人來說 這個 很難~~~ 0,1,3 t 1,1,2 t k 0,1,3 t 1,1,2 t 通解等於齊次方程。的解加特解。x1,x2是ax b的解,則 x1 x2 齊次方程ax 0的解。所以,通解為k x1 x2 x2 或k x1 x2 x1 r a 2,則齊次方程基礎解系。個數為。n r a 3 2 1 四元方程ax b... 兩個方程組的公共解,可用方法3.若是兩個方程組同解,方法3就不靈了 公共解是兩個方程組解的交集,包含在兩個方程組的解集中同解方程組,兩個方程組的解集一樣,即基礎解系等價 可互相線性表示 這類題目一般綜合性強,需根據具體情況來分析使用哪個方法比如 一個方程組可得出明顯的基礎解系,那麼代入另一方程組就方... 逢玉花公琬 樓主你好,看見你提問excel的這個問題,嘿嘿,好像在那裡看見過,所以我來解答你,不過我怕我說的不是很清楚,這樣好了我給你個 你進去看看,裡面絕對可以解決你的問題的答案,我基本都是在那邊學的,什麼都有,絕對全面,是 你記得只找你的問題,看的太多小心眼花 用基礎解系表示方程組的通解 蓋辜苟...線性方程組的通解,線性方程組求通解
線性代數線性方程組問題公共解和同解方程組怎麼做?大題,遇到過不少次了答案的作法讓人暈
線性方程組的公式解法