Steven Lynn’s Blog

使用C++实现克拉默法则(Cramer's law)

2022-10-05630 words3 min read
date
Oct 5, 2022
slug
Cramer-law-c
status
Published
tags
Math
type
Post
类型
summary
克拉默法则(Cramer's law)是线性代数中的一条定理,用行列式来计算出线性等式组中的所有解,被用于计算n元一次方程

前言

近期线性代数学习到了克拉默法则,结合前文使用C++实现n阶行列式的计算所写代码,可以实现解n元一阶方程的目的

项目地址

代码

本次代码分为主程序main.cpp和子程序det.cpp两部分,主程序主要负责数值的输入和输出,子程序负责计算行列式

main.cpp

det.cpp

解析

行列式的计算

有关行列式相关代码,此处不作解析,详见前文使用C++实现n阶行列式的计算

克拉默法则

$x_i=\frac{D_i}{D}$
系数行列式D的值由数组a[MAX][MAX]存储,等号右边数值由数组b[MAX]存储
下标ifor循环遍历,i的值会被传递给子函数`calc()
在子函数calc()中,会复制a[][]的值给临时数组c[][]
但在第i列会赋b[i]的值以替换
声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
Loading...