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

📄 euler.h

📁 常微分方程数值解法
💻 H
字号:
#ifndef Euler_h
#define Euler_h
#include"Differential.h"
double pu(double t){
	return log(exp(10*t)+exp(1)-1)/10;
}
template<class Type> class Euler:public Differential<Type>{
	protected:
		Type *u1,*e1;
	public:
		Euler(Type (*pf)(Type,Type)):Differential<Type>
		(pf){u1=new Type[N+1];e1=new Type[N+1];	u=pu;
		k=1;n=N-k+1;}
		~Euler(){delete []u1;delete []e1;}
		void Eulermeth();
		void Calculate();
		void Solution();
		void Error();
};
template<class Type> void Euler<Type>::Eulermeth(){
    cout<<"Input u("<<low<<"):";cin>>u1[0];u0[0]=U(t[0],u);
    cout<<setw(6)<<"t"<<setw(12)<<"Euler"<<setw(12)<<"Theory"<<endl;
	cout<<setw(6)<<"t"<<setw(12)<<u1[0]<<setw(12)<<u0[0]<<endl;
	for(int i=k;i<n+1;i++){
		u1[i]=u1[i-1]+h*F(t[i-1],u1[i-1],f);
		u0[i]=U(t[i],u);
		cout<<setw(6)<<t[i]<<setw(12)<<u1[i]<<setw(12)<<u0[i]<<endl;
	}
}
#endif

⌨️ 快捷键说明

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