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

📄 aa.cpp

📁 用Vc++编写的小波分析代码
💻 CPP
字号:
#include<iostream.h>
void main()
{
	double cp,k,h,l,t0,t1,p;   //定义各已知初值
	//定义系数矩阵a=a(2-101),b=b(1-101),c=c(1-100),t=β(1-100)(计算公式中β),f=f(1-101),y=y(1-101),x=x(1-101);
	double a[101],b[101],c[100],t[100],y[101],x[101],f[101];//其中a[1]=a[0]=0 与公式下标一致
	//定义循环次数i	 时间常数T
	int i,T;
	//定义时间步长n=(n) 空间步长N=(m),常数A=α,B=β(题目条件中)
	double n,m,A,B; 
	//为初值赋值
		p=7300,cp=800,k=30,h=100,l=0.1,t0=1000,t1=20,T=60;
		n=6000,m=100;       
		//其中时间步长n为可改变数值 m固定为100等分
		A=T*k/(n*p*cp*(l/m)*(l/m));
		B=l*h/(m*k);
// 为 a b c t赋值	
	for (i=2;i<=100;i++)
	{
		a[i]=-A,b[i]=1+2*A,c[i]=-A;
		f[i]=t0;
	}
		a[101]=-1,c[1]=-1,b[1]=1+B;
		b[101]=1+B;
		f[1]=f[101]=B*t1;
	//计算公式中β	
	for (i=2;i<=100;i++)
	{
		t[1]=c[1]/b[1];
		t[i]=c[i]/(b[i]-a[i]*t[i-1]);
	}
// 计算公式中y
	while (n>0)
{
	for  (i=2;i<=101;i++)
		{
			y[1]=f[1]/b[1];
			y[i]=(f[i]-a[i]*y[i-1])/(b[i]-a[i]*t[i-1]);
		}
//计算公式中x
	for  (i=100;i>=1;i--)
		{
			x[101]=y[101];
			x[i]=y[i]-t[i]*x[i+1];
		}
//将f用x替换
	for (i=2;i<=100;i++)
		{
			f[i]=x[i];
		}
	n--;
}	
	//输出结果
	for  (i=1;i<=101;i++)
		{
//			cout<<x[i]<<",";
	//		if (i%6==0) cout<<"..."<<endl;			
		}
	cout<<x[101];
}

⌨️ 快捷键说明

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