c# 解多元一次方程
时间: 2023-11-24 10:53:24 浏览: 153
以下是使用C#解多元一次方程的示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LinearEquations
{
class Program
{
static void Main(string[] args)
{
// 定义系数矩阵
double[,] A = { { 2, 1, 3, 5, 9 }, { 2, 2, 1, 10, 1 }, { 7, 3, 5, 2, 1 }, { 3, 7, 7, 7, 9 }, { 12, 4, 1, 23, 5 } };
// 定义常数矩阵
double[] B = { 198, 166, 115, 286, 429 };
// 调用高斯消元法求解方程组
double[] X = Gauss(A, B);
// 输出解
Console.WriteLine("The solution is:");
for (int i = 0; i < X.Length; i++)
{
Console.WriteLine("X{0} = {1}", i + 1, X[i]);
}
Console.ReadKey();
}
// 高斯消元法求解方程组
static double[] Gauss(double[,] A, double[] B)
{
int n = B.Length;
double[] X = new double[n];
// 前向消元
for (int k = 0; k < n - 1; k++)
{
for (int i = k + 1; i < n; i++)
{
double factor = A[i, k] / A[k, k];
for (int j = k + 1; j < n; j++)
{
A[i, j] -= factor * A[k, j];
}
B[i] -= factor * B[k];
}
}
// 回代求解
for (int i = n - 1; i >= 0; i--)
{
double sum = 0;
for (int j = i + 1; j < n; j++)
{
sum += A[i, j] * X[j];
}
X[i] = (B[i] - sum) / A[i, i];
}
return X;
}
}
}
```
该示例代码使用高斯消元法求解多元一次方程组,其中系数矩阵和常数矩阵分别定义为二维数组A和一维数组B。在Main函数中,我们将系数矩阵和常数矩阵传递给Gauss函数,该函数返回解向量X。最后,我们输出解向量X的每个分量。
阅读全文
相关推荐















