方法2:如果你是对角优势阵,也就是对角线上的值的绝对值,比同行所有其他元素的绝对值的和还大,可以通过局部旋转的方法把矩阵“能量”集中到对角线
这个是方法,你可以自己去写一下试试~
#include<stdio.h>int main()
{
int a[3][5],i,j,k,temp
//通过读取给3×5的数组赋值
for(i=0i<3i++)
for(j=0j<5j++)
scanf("%d",&a[i][j])
//一行一行的判断
for(k=0k<3k++)
{
//标准冒泡法
for (j = 0j <9j++)
{
for (i = 0i <9 - ji++)
{
if (a[k][i] <a[k][i + 1])
{
temp = a[k][i]
a[k][i] = a[k][i + 1]
a[k][i + 1] = temp
}
}
}
for(i=0i<3i++)
{
for(j=0j<5j++)
printf("%d\t",a[i][j])
printf("\n")
}
}
用C++或者VB编程很烦人的,matlab中命令:[a,b]=eig(A)就是求解矩阵A的特征值和特征值对应的向量,他们分别会构成一个由特征值组成的对角矩阵b和一个由对应特征值的特征列向量组成的a矩阵。或者命令a=eig[A]就只有特征值组成的对角矩阵a,别去想用C++和VB之类的,这些软件用来求解矩阵和matlab相差太远了。我之前也想过编程解决,人家一个命令就能解决的问题何不取巧呢?