⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aemt.cpp

📁 埃尔米特法解方程
💻 CPP
字号:
// AEMT.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include"iostream.h"
#include"iomanip.h"
#include"fstream.h"
#include"math.h"

class Aemt
{
protected:
	double *X;
	double *Y;
	double *M;
	double x;
	int n;
public:
	Aemt(char * file_name);
	double Ji_suan();
	void print_result();
};

Aemt::Aemt(char * file_name)
{
	ifstream input(file_name);

	input>>n;
	X=new double[2];
	Y=new double[2];
	M=new double[2];
	for(int i=0;i<n;i++)
		input>>X[i];
	for(i=0;i<n;i++)
		input>>Y[i];
	for(i=0;i<n;i++)
		input>>M[i];
	input>>x;
}

double Aemt::Ji_suan()
{
	double temp1=0;
	double temp2;
	double temp3;
	for(int i=0;i<n;i++)
	{
		temp2=0;
		temp3=1;

		for(int j=0;j<n;j++)
			if(j!=i)
				temp2+=1/( X[i]-X[j] );

		temp2*=2*Y[i];

		for(j=0;j<n;j++)
			if(j!=i)
				temp3*=( (x-X[j])/(X[i]-X[j]) );

		temp1+=( Y[i]+(X[i]-x)*( temp2-M[i]) )*pow(temp3 ,2);
	}
	return temp1;
}

void Aemt::print_result()
{
	cout<<"结果是:\n"<<Ji_suan()<<endl;
}

void main()
{
	Aemt amet("a.txt");
	amet.print_result();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -