2020-11-05

【1st0pt批量处理】

1st0pt在拟合模型时,受初始值影响较小,在没有初始值的情况下,成了不错的选择,记录一下这两天的收获。
使用的软件是1st0pt5.0版本,就是一个简单的批处理:
title “test”;
parameter C0,C,a
BatchFileModel
variable x=“CodeSheet1[A1:A15]”,y=“CodeSheet1[B1:FO15]”;
//variable x=“Sheet1[A1:A15]”,y=“Sheet1[B1:FO15]”;
variable x,y;
function y=C0+C*(1-exp(-(xx)/(aa)))

运行结果如图,但是怎么把这些结果导出来呢?????
![运行结果](https://img-blog.csdnimg.cn/20201105093643901.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDQxMjM0Nw==,size_16,color_FFFFFF,t_70#pic_center
因为这个结果不能赋值粘贴,开始是想通过对表格赋值,导出来,但在使用手册里,并没有看见怎么去输出结果到表格里,四处打听,大佬们估计也不想搭理我这个菜鸡,确实是把各种手册都看了,确实是没有,但只要能解决都是好的,在program———>save parameter,可以把参数保存为后缀为pss的文件,再打开,里面的结果是可以复制的,至少结果是可以粘出来。
在这里插入图片描述
这种方法虽然很low,但是确实没办法才能这样了,因为用过手册里的Pascal语言的方法,对表格操作,但是这样有两个问题,一个是batchfilemodel,怎么循环一个变量,另一个问题是batchfilemodel拟合的参数怎么赋值给表格单元,就像下面这两段,怎么把i放在batchfilemodel里循环起来,还有就是拟合的参数结果C0,C,a怎么赋值给表格单元呢?欢迎大佬赐教。
title “test”;
parameter C0,C,a
BatchFileModel
variable x=“CodeSheet1[A1:A15]”,y=“CodeSheet1[B1:FO15]”;
//variable x=“Sheet1[A1:A15]”,y=“Sheet1[B1:FO15]”;
variable x,y;
function y=C0+C*(1-exp(-(xx)/(aa)))

StartScript [Pascal]; var i: integer; Begin With Sheet1 do for i := 0 to 169 do //170是上面的拟合有170组,参数也就有170组 Doubles[0,i] :=C0; Doubles[1,i] :=C; Doubles[2,i] :=a; End; EndScript;