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;