📄 aa.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 + -