First
补充数值运算函数和字符串函数
数值运算函数
字符串函数
评价函数
1、建立默认的评价函数
DEFAULTMERIT type, data, reference, method, rings, arms, grid,delete, axial,lateral, start,xweight, oweight
2、删除所有、删除/增加一行评价函数。
DELETEMFO ALL
DELETEMFO row
INSERTMFO row
3、设置特定的评价函数。
SETOPERAND row, col, value
Value是row和col所决定的行、列的值。col为11代表函数名字符串,为2代表 Int1,为3代表 Int2,为4 ~ 7代表 data1 ~ data4,为8代表目标值 target,为9代表权重 weight。
4、读取特定评价函数的值。
OPER(row, col)
col为10代表运算值,11代表贡献值。需要注意,只能读取当前值,更新才能读取最新值。
下面2个函数更方便使用,不需要添加到函数编辑器里,就可以读取某个评价函数的值
OPEV(code, int1, int2,data1, data2, data3, data4)
或
OPEW(code, int1, int2,data1, data2, data3, data4, data5, data6)
code为评价函数代码,由函数OCOD(A$)返回,其中A$为评价函数名字符串。
5、MF值:
MFCN( )
优化
1、设置变量。
如果status的值为0,则取消变量设置,否则将与code相应的值设为变量。如果code为Nn或On,则需提供非顺序元件的编号objectNum。如果code为M,则需提供多组态中的运算元operand。
SETVAR surf, code, status, objectNum
或
SETVAR config, M, status, operand
2、取消所有变量。
REMOVEVARIABLES
3、读取变量。
其中vector = 1~4,为ZPL所提供的4个一维数组之一。
GETVARDATA vector
不同变量类型的代码和其它参数说明如下表所示。对于不同的变量类型,某些参数可能没有意义。
4、执行优化。
优化的次数可以从1~99。algorithm = 0为阻尼最小均方差法(Damped Least Squares,为缺省方法),1为正交递减法( Orthogonal Descent)。
如果OPTIMIZE后面不带参数,则使用缺省优化方法,自动执行;如果HAMMER后面不带参数,则使用缺省优化方法,执行优化次数为1。
OPTIMIZE
OPTIMIZE number_of_cycles
OPTIMIZE number_of_cycles,algorithm
及
HAMMER
HAMMER number_of_cycles
HAMMER number_of_cycles, algorithm
5、套样板
其中tpd_file为样板数据文件名,log_file为输出log文件名,method为0~4间的整数,分别表示尝试所有方法、从优到劣、从劣到优、从长到短及从短到长,number_cycles为0表示自动,否则表示最大优化次数。
TESTPLATEFIT tpd_file,log_file, method, number_cycles
领取专属 10元无门槛券
私享最新 技术干货