首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gauss顺序消元法的编程实现

求解线性方程组的最一般的方法就是gauss顺序消去法。我们平常求解方程组的思想就是:通过不断的代入消元实现方程组化简,然后回代实现求解。

下面简单实现了gauss顺序消元法。这里假设系数矩阵是方阵,行列式的值不为0,每次消元时主元都不为0,同时也不考虑方程组的性态问题。

第一层循环为消元次数;

第二层循环是对第i行进行消元;

第三层循环是对第i行,第j列进行消元;

算法的python实现

本方法的时间0.000027s左右,加上print('方程的解')后速度在0.014722s,可见print这个函数还是挺占时间的。python也有自带的solve函数实现方程组的求解,其求解时间大约0.014742s。不过本方法没有solve函数稳定。

MATLAB实现:

MATLAB 实现的时间在 0.001881s左右,如果用Matlab自身的矩阵求解时间在0.000773s左右。

C实现:

C实现的时间

可见python中的numpy虽然计算性能得到优化,但是和C比起来还是有较大的差距。Matlab循环会降低处理速度,由于matlab优异的矩阵处理性能,其计算速度并不是很慢。c无愧为王者,就是飞一般的速度。唯一难受的就是C的强制类型说明,显得有点不习惯了。

欢迎你关注我们!

如果你有什么有趣的事,也可以骚扰留言,希望我们一起把生活活得更有趣味 ^_^

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324G0P54R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券