您的位置:首页 > 其它

高斯消元模板

2016-03-21 21:03 330 查看
高斯消元模板

void gauss() {
fo(i,1,n-1) {
fo(j,i+1,n) if (abs(matrix[j].a[i])>abs(matrix[i].a[i]))
swap(matrix[i],matrix[j]);
fo(j,i+1,n) {
db f=matrix[j].a[i]/matrix[i].a[i];
fo(k,i,n) matrix[j].a[k]=matrix[i].a[k]*f-matrix[j].a[k];
matrix[j].b=matrix[i].b*f-matrix[j].b;
}
}
fd(i,n,2) {
fo(j,1,i-1) {
db f=matrix[j].a[i]/matrix[i].a[i];
fo(k,j,n) matrix[j].a[k]=matrix[i].a[k]*f-matrix[j].a[k];
matrix[j].b=matrix[i].b*f-matrix[j].b;
}
}
fo(i,1,n) an[i]=matrix[i].b/matrix[i].a[i];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: