schrodingerequation.cpp

来自「Schrodinger Equation 数值计算中的方程」· C++ 代码 · 共 84 行

CPP
84
字号
// SchrodingerEquation.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "NumericalComputMethods.h"
int _tmain(int argc, _TCHAR* argv[])
{
	Mat_IO_DP M(61,61);
	NumericalComputMethods cal;
	cal.ProduceMatrix(M);
	cout<<endl;
	Vec_DP engivalue(61);
	Mat_DP matrix(61,61);
	int n=0;
	cal.jacobitransformation(M,engivalue,matrix,n);
	int i1,i2,i3,i4;
	cal.determineIndexMiniElem(i1,i2,i3,i4,engivalue);
	cout<<i1<<endl<<i2<<endl<<i3<<endl<<i4<<endl;



	FILE *fp_engivalue;
	for(int i=0;i<61;i++)
	{
		if(i==i1)
		{
		fp_engivalue=fopen("engivalue.xls","a");
		fprintf(fp_engivalue,"%f\n",engivalue[i]);
		fclose(fp_engivalue);
		}
	}
	for(int i=0;i<61;i++)
	{
		if(i==i2)
		{
		fp_engivalue=fopen("engivalue.xls","a");
		fprintf(fp_engivalue,"%f\n",engivalue[i]);
		fclose(fp_engivalue);
		}
	}
	for(int i=0;i<61;i++)
	{
		if(i==i3)
		{
		fp_engivalue=fopen("engivalue.xls","a");
		fprintf(fp_engivalue,"%f\n",engivalue[i]);
		fclose(fp_engivalue);
		}
	}
	for(int i=0;i<61;i++)
	{
		if(i==i4)
		{
		fp_engivalue=fopen("engivalue.xls","a");
		fprintf(fp_engivalue,"%f\n",engivalue[i]);
		fclose(fp_engivalue);
		}
	}
	
    FILE *fp_wavefun1,*fp_wavefun2,*fp_wavefun3,*fp_wavefun4;
	for(int i=0;i<61;i++)
	{
    fp_wavefun1=fopen("wavefun_1.xls","a");
    fprintf(fp_wavefun1,"%f\n",matrix[i][i1]);
    fclose(fp_wavefun1);

    fp_wavefun2=fopen("wavefun_2.xls","a");
    fprintf(fp_wavefun2,"%f\n",matrix[i][i2]);
    fclose(fp_wavefun1);

    fp_wavefun3=fopen("wavefun_3.xls","a");
    fprintf(fp_wavefun3,"%f\n",matrix[i][i3]);
    fclose(fp_wavefun3);

    fp_wavefun4=fopen("wavefun_4.xls","a");
    fprintf(fp_wavefun4,"%f\n",matrix[i][i4]);
    fclose(fp_wavefun4);

	}

	return 0;
}

⌨️ 快捷键说明

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