Ab=0如何求解?其中A为一个2N*6矩阵求b

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:38:11
Ab=0如何求解?其中A为一个2N*6矩阵求b
用C/C++或者MATLAB如何实现呢?
Ab=0的0改成其它的不为0的话这个求解就不是这么回事了啊,还有你把我说的ZN*6转化成了N*N的这个怎么是一样啊...不对哦

我已经求解出来了,如果需要知道其中方法的请发邮件robin1115@163.com

这里我是定义一个4*4阶的矩阵,要是其他阶数的你直接改变N的值就可以了,还有那个Ab=0的0向量你可以改变成其他的值.
用c/c++编写的程序为:
#define N 4
#include <iostream.h>
#include <math.h>
void main()
{
double a[N][N+1] = {0.3e-15,59.14,3,1,0,
5.291,-6.13,-1,2,0,
11.2,9,5,2,0,
1,2,1,1,0 };//增广矩阵
double x[N]; //存储解向量
double m; // 中间变量
int i, j, k,s;

//消元过程
for(k=0;k<N-1;k++)
{ // k<N-1 ?
s=k;
for(i=k+1;i<N;i++)
{
if(fabs(a[s][k])<fabs(a[i][k]))
s=i;
}
if(s!=k)
{
for(j=0;j<=N;j++)
{
m=a[k][j];
a[k][j]=a[s][j];
a[s][j]=m;
}
}

if(a[k][k]==0)
{
cout << "求解失败!";
break;
}
for(i=k+1;i<N;i++)
{
m = a[i][k] / a[k][k];
a[i][k] = 0;
for(j=k+1;j<=N;j++) // j<=N?
a[i][j] = a[i