C++实现雅克比行列式

2021-03-18 12:27

阅读:577

标签:pac   names   多次   div   vector   失败   i++   pre   mes   

//c++实现雅克比迭代式
#include
#include
#include
#include
using namespace std;

//函数求数组中的最大值
double MaxOfList(vectorx) {
	double max = x[0];
	int n = x.size();
	for (int i = 0; i  max) max = x[i];
	return max;
}

//雅可比迭代公式
void Jacobi(vector > A, vector B, int n) {
	vector X(n, 0);	//相当于一个初始向量取x0(0,0,0,0)
	vector Y(n, 0);	//存放新的未知数值
	vector D(n, 0);	//用来存放每未知数迭代前和迭代后的差值。
	int k = 0; //记录循环次数
	do {
		X = Y;//将迭代后的y赋值给x来处理新的。
		for (int i = 0; i  100) {	//迭代了再多次也达不到趋近的范围值
			cout  0.00001 || MaxOfList(D) > n;
	cout >A(n, vector(n, 0));//相当于创建一个二维数组A[n][n],数组的每个数初值为0
	vectorB(n, 0);//同上只是把二维数组改为一位数组。
	cout > A[i][j];	//由二维数组来存储方程式的系数
		}
	}
	cout > B[k];	//一位数组来存储这个值
	}
	cout 
#include
#include
#include
using namespace std;

//函数求数组中的最大值
double MaxOfList(vectorx) {
	double max = x[0];
	int n = x.size();
	for (int i = 0; i  max) max = x[i];
	return max;
}

//雅可比迭代公式
void Jacobi(vector > A, vector B, int n) {
	vector X(n, 0);	//相当于一个初始向量取x0(0,0,0,0)
	vector Y(n, 0);	//存放新的未知数值
	vector D(n, 0);	//用来存放每未知数迭代前和迭代后的差值。
	int k = 0; //记录循环次数
	do {
		X = Y;//将迭代后的y赋值给x来处理新的。
		for (int i = 0; i  100) {	//迭代了再多次也达不到趋近的范围值
			cout  0.00001 || MaxOfList(D) > n;
	cout >A(n, vector(n, 0));//相当于创建一个二维数组A[n][n],数组的每个数初值为0
	vectorB(n, 0);//同上只是把二维数组改为一位数组。
	cout > A[i][j];	//由二维数组来存储方程式的系数
		}
	}
	cout > B[k];	//一位数组来存储这个值
	}
	cout 

  

C++实现雅克比行列式

标签:pac   names   多次   div   vector   失败   i++   pre   mes   

原文地址:https://www.cnblogs.com/beautiful7/p/13915859.html


评论


亲,登录后才可以留言!