首页 > 其他分享 >[浅谈] 高斯消元

[浅谈] 高斯消元

时间:2023-06-01 21:23:41浏览次数:59  
标签:方程 系数 浅谈 int 消元 高斯消

\(\color{purple}\text{P3389 【模板】高斯消元法}\)

所谓高斯消元就是解个 \(n\) 元一次方程。
用矩阵记录每个方程的系数满足第 \(i\) 个方程:\(a[i][1]x_1+a[i][2]x_2+\dots +a[i][n]x_n=a[i][n+1]\)

然后从消元,一个一个项消元,如消除 \(i\) 项。先选定一个此项系数绝对值最大的方程(这样可以减小误差?),然后将他的未知数 \(i\) 的系数化为 \(1\) ,然后把剩下的方程与它相减消除未知数 \(i\) 。

最后一一带回字符串。实现的细节还得看代码。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const double eps=1e-8;
int read(){
	int x=0,f=1;char c=getchar();
	while(c>'9' || c<'0'){if(c=='-')f=-1;c=getchar();}
	while(c>='0' && c<='9'){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
	return x*f;
}
int n;
double mp[110][110],ans[110];
int main(){
	n=read();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n+1;j++)
			scanf("%lf",&mp[i][j]);
	for(int i=1;i<=n;i++){
		int rcd=i;
		for(int j=i+1;j<=n;j++)
			if(fabs(mp[rcd][i])<fabs(mp[j][i]))rcd=j;
		if(fabs(mp[rcd][i])<eps){
			printf("No Solution\n");
			return 0;
		}//找到系数最大的方程 
		if(i!=rcd)swap(mp[i],mp[rcd]);//换到当前行 
		double div=mp[i][i];
		for(int j=i;j<=n+1;j++)
			mp[i][j]/=div;//将此方程系数变为1 
		for(int j=i+1;j<=n;j++){
			div=mp[j][i];
			for(int k=i;k<=n+1;k++)
				mp[j][k]-=mp[i][k]*div;//消元 
		}
	}
	ans[n]=mp[n][n+1];
	for(int i=n-1;i>=1;i--){
		ans[i]=mp[i][n+1];
		for(int j=i+1;j<=n;j++)
			ans[i]-=mp[i][j]*ans[j];
	}
	for(int i=1;i<=n;i++)printf("%.2lf\n",ans[i]);
	return 0;
}

标签:方程,系数,浅谈,int,消元,高斯消
From: https://www.cnblogs.com/FJOI/p/17450243.html

相关文章

  • 分而治之--浅谈分库分表及实践之路 | 京东云技术团队
    前言之前总在聊微服务,微服务本身也是分布式系统,其实微服务的核心思想是分而治之,把一个复杂的单体系统,按照业务的交付,分成不同的自服务,以降低资深复杂度,同时可以提升系统的扩展性。今天想聊一下分库分表,因为对于快速增长的业务来说,这个是无法回避的一环。之前我在做商城相关的SAAS......
  • 浅谈字符集GB18030, GBK, GB2312, Unicode的适应性范围
    目前在中文世界里,计算机系统发展非常快速,传统的Windows已经逐渐跟不上国产化,如国产安卓系统,华为欧拉鸿蒙等系列,国产Linux系统等。国产化普遍支持GB18030!注:GB18030标准符合性认证一度属于国家强制性标准,由中国电子技术标准化研究所(CESI)认证中心进行授权认证。那么这些字符集......
  • 浅谈 Spring Bean 的生命周期
    一、Bean的生命周期概述区别于普通的Java对象需要通过new创建对象,Spring的Bean由IoC容器进行实例化、组装以及管理的。也就是说 Bean的生命周期完全由IoC容器控制。Spring容器只能管理 单例(singleton) 作用域的Bean的完整生命周期,对于 原型(prototype) 作用域......
  • 好选客浅谈鞋靴行业找外贸客户~
    鞋靴概述鞋靴制品是指使用各种材料(如:皮革、布料、橡胶、塑料等)制作的款式、类型、功能各异的鞋子和靴子,包括日常通勤的休闲鞋、提供舒适的缓震和支撑的运动鞋与适用于正式场合的皮鞋和高跟鞋等,在保护脚部、提供舒适性的同时也起到了装饰的作用,彰显个人时尚和风格。ByPixelsviaPi......
  • 【原创】浅谈EtherCAT主站EOE(上)-EOE网络
    版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/目录一、EoE二、EoE服务规范EtherCAT主站如何提供EoE服务?三、EoE网络EOE网络这篇文章的标题虽然是关于EtherCATEOE,但其实主要内容是关于整个EOE网络结构,属于计算......
  • [5月摸鱼计划] 浅谈DCDC电压变换(原理、结构、可用)
    DCDC转换器简介在电子产品中,我们常需要不同的直流电压来为电路提供工作,这时我们便会见到LDO和DC/DC的身影,但是严格意义上LDO也是一种DC/DC,在电源芯片选型中,LDO和DC/DC则是两种完全不同的芯片。与线性稳压器LDO相比较,效率高是DC/DC的显著优势,通常效率在70%以上,效率高的可达到95%以上......
  • 浅谈中国剩余定理
    中国剩余定理定义中国剩余定理(CRT)可以求解如下形式的一元线性同余方程组(其中\(n_{1},n_{2},\dots,n_{k}\)两两互质)\[\left\{\begin{matrix}x\equiva_{1}\pmod{n_{1}}\\x\equiva_{2}\pmod{n_{2}}\\\vdots\\x\equiva_{k}\pmod{n_{k}}\end{matrix}\right.\]过程计算......
  • 浅谈云服务器有哪些优点?
    目前,云服务器大有赶超虚拟主机、VPS和传统物理服务器,成为最具潜力占领互联网服务托管平台市场最大份额的新兴IT部署模式。最近,各大云服务商纷纷推出低价云服务器、免费试用、免费领取等活动,并在各大媒体投放大量广告,谋求占据更高的市场份额。那么,云服务器到底有哪些优势?归根到底,云......
  • 浅谈DNS域名解析的过程
    一、用户在浏览器输入www.baidu.com时,DNS域名解析大致分为以下几个过程:1、浏览器客户端检查自身有没有该域名的缓存:如果浏览器有命中,直接返回该域名对应的IP地址,解析结束;(这个缓存可以设置TTL来控制有效时间,有点像APR协议在本地保存的的目的IP与主机MAC地址的缓存)如下图:如果浏......
  • [4月摸鱼计划] 浅谈 InfruWeb3黑客松赛事
    事情起因:https://marketing.csdn.net/p/6798543ad6fdaad547c6431dd7df955a之前没接触过区块链这块,这次随即报名NFT这块。下面谈我的学习过程:第一阶段资料搜索(简单看看就行)什么是NFT?NFT是“非同质化代币”的缩写,是一种基于区块链技术的数字资产。和比特币等传统加密货币不同的是,NFT......