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

📄 d9r9.cpp

📁 数值计算c++源代码,包括各种算法。很有用的。
💻 CPP
字号:
#include "iostream.h"
#include "math.h"

void fgauss(double x, double a[], double& y, double dyda[], int na)
{
	y = 0.0;
	for (int i = 1; i<=na - 1; i=i+3)
	{
		double arg = (x - a[i + 1]) / a[i + 2];
		double ex = exp(-(arg * arg));
		double fac = a[i] * ex * 2.0 * arg;
		y = y + a[i] * ex;
		dyda[i] = ex;
		dyda[i + 1] = fac / a[i + 2];
		dyda[i + 2] = fac * arg / a[i + 2];
	}
}

void main()
{
    //program d9r9
    //driver for roution fgauss
    int i,j,na,npt = 3;
    int nlin = 2;
	double x,y,e1,e2,f;
    na = 3 * nlin;
    double a[7], dyda[7], df[7];
    a[1]=3.0; a[2]=0.2; a[3]=0.5; a[4]=1.0; a[5]=0.7; a[6]=0.3;
    cout<<"      x        y     data1    data2    data3    data4    data5    data6";
    for (i = 1; i<=npt; i++)
	{
        x = 0.3 * i;
        fgauss(x, a, y, dyda, na);
        e1 = exp(-pow(((x - a[2]) / a[3]) , 2));
        e2 = exp(-pow(((x - a[5]) / a[6]), 2));
        f = a[1] * e1 + a[4] * e2;
        df[1] = e1;
        df[4] = e2;
        df[2] = a[1] * e1 * 2.0 * (x - a[2]) / (a[3] * a[3]);
        df[5] = a[4] * e2 * 2.0 * (x - a[5]) / (a[6] * a[6]);
        df[3] = a[1] * e1 * 2.0 * ((x - a[2]) * (x - a[2])) / (pow(a[3] , 3));
        df[6] = a[4] * e2 * 2.0 * ((x - a[5]) * (x - a[5])) / (pow(a[6] , 3));
		cout.setf(ios::fixed|ios::right);
		cout.precision(4);
        cout<<endl;
        cout<<"from fgauss"<<endl;
		cout.width(9);
        cout<<x;
		cout.width(9);
		cout<<y;
        for (j = 1; j<=6; j++)
		{
			cout.width(9);
            cout<<dyda[j];
        }
        cout<<endl;cout<<endl;
        cout<<"independent calc."<<endl;
		cout.width(9);
        cout<<x;
		cout.width(9);
		cout<<f;
        for (j = 1; j<=6; j++)
		{
			cout.width(9);
            cout<<df[j];
        }
        cout<<endl;
    }
}

⌨️ 快捷键说明

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