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

📄 d16r1.cpp

📁 用C语言编写的有限差分法程序
💻 CPP
字号:
#include <math.h>
#include <iomanip.h>
#include <iostream.h>
#include <process.h>

void main()
{
    //program d16r1
    //driver for routine sor
	int jmax,i,j,midl;
	double pi,rjac,aaa;
    double a[12][12],b[12][12],c[12][12],d[12][12];
    double e[12][12],f[12][12],u[12][12];
	jmax = 11;
    pi = 3.1415926;

    for (i = 1; i<=jmax; i++)
	{
        for (j = 1; j<=jmax; j++)
		{
            a[i][j] = 1.0;
            b[i][j] = 1.0;
            c[i][j] = 1.0;
            d[i][j] = 1.0;
            e[i][j] = -4.0;
            f[i][j] = 0.0;
            u[i][j] = 0.0;
        }
    }
    midl = jmax / 2 + 1;
    f[midl][midl] = 2.0;
    rjac = cos(pi / jmax);
    sor(a,b,c,d,e,f,u,jmax,rjac);
    cout<<endl;
    cout <<"sor Solution:"<<endl;
    cout<<endl;
	cout<<setprecision(2)<<setiosflags(ios::fixed);
    for (i = 1; i<=jmax; i++)
	{
        for (j = 1; j<=jmax; j++)
            cout<<setw(7)<<u[i][j];
        cout<<endl;
	}
    cout<<endl;
    cout <<"Test that sulotion satisfies Difference Eqns:"<<endl;
    cout<<endl;
    for (i = 2; i<=jmax - 1; i++)
	{
		for (j = 2; j<=jmax; j++)
		{
			aaa = u[i+1][j]+u[i-1][j]+u[i][j+1] + u[i][j - 1];
			f[i][j] = aaa - 4.0 * u[i][j];
		}
		for (j = 2; j<=jmax-1 ; j++)
			cout <<setw(8)<<f[i][j];
		cout<<endl;
    }
}

⌨️ 快捷键说明

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