利用函数公式设计一个数值模型

一个游戏,满级 100 级,升级到满级需要 2 年的时间。请利用函数公式设计一个数值模型,该数值模型要求:可以通过调整满级数与满级时间这 2 个参数,自动计算出每级的升级经验以及各级所需的升级天数。
由题意,需设计一系统。该系统输入为满级数x与满级时间y,输出为每级的升级经验z以及各级所需的升级天数k。示意图如下图所示:

其中,j代表等级。即各级所需升级天数和每级升级经验均为等级j的函数。且由题意,应满足下式:

且有:

即各级所需升级天数的和,应等于给定的满级所需要的时间y。
设:

其中:

由题意,设x为100(级),y为730(天),也就是两年。取:

在MATLAB 2018b平台进行仿真,得到仿真结果如下。MATLAB代码见附录四。

由该模型可得,升第1级所需时间为37.4748秒,升第100级所需时间为66.4078天。
取w正比于z,即满足:

设比例系数为k,即满足:

取升第1级时所需经验值为100,代入式(7),解得:

则有

在MATLAB平台进行仿真,得到其示意图如下图所示:

解毕。
MATLAB程序如下:
第一幅图(升级所需天数对于等级的函数图像)代码:
x = 100; %满级数
y = 730; %满级时间,730天,即两年
beta = 1.1;
lamuda = 1.01;
j = 1 : 100;
z = beta.^j - lamuda;
sumz = sum(z);
alpha = 730/sumz;
z = alpha * ( beta.^j - lamuda );
%z = 20 .* log(z + 10) - 45.5;
sum(z)
figure(1);
bar(j,z);
set(gca,'fontsize',26);
xlabel('等级','fontsize',26);
ylabel('升级所需时间/天','fontsize',26);
第二幅图(每级升级经验对于等级的函数图像)代码:
x = 100;%满级数
y = 730;%满级时间,730天,即两年
ys = 100;%假设升第一级需要经验数为100
beta = 1.1;
lamuda = 1.01;
j = 1 : 100;
z = beta.^j - lamuda;
sumz = sum(z);
alpha = 730/sumz;
z = alpha * ( beta.^j - lamuda );
w = ( ys / z(1) ) .* z;
%z = 20 .* log(z + 10) - 45.5;
sum(z)
figure(1);
bar(j,w,'red');
set(gca,'fontsize',26);
xlabel('等级','fontsize',26);
ylabel('每级升级经验','fontsize',26);