光电工程师社区
标题:
请教FCT(User-defined Function)
[打印本页]
作者:
victorrose
时间:
2005-7-15 06:20
标题:
请教FCT(User-defined Function)
同一个FCT中可计算「不同function」吗?
FCT @fct_1(num ^var_1,num ^var_2)
if ^var_2=1
^fct_1=^result_1 !result_1
els
^fct_1=^result_2 !result_2
end if
END FCT ^fct_1
@fct_1(12345,1) ==> ^result_1
@fct_1(12345,2) ==> ^result_2
另外,当要计算@fct_1(12345,1)与@fct_1(12345,2)时,FCT会计算两次吗?
作者:
redflag
时间:
2005-7-15 15:21
不太明白你的意思. 不过你调用两次,它会计算两次. (但FCT读入只允许一次).
作者:
victorrose
时间:
2005-7-18 05:17
FCT @fct_1(num ^var_1,num ^var_2)
if ^var_1=1
^fct_1=^result_1 !result_1
els
^fct_2=^result_2 !result_2
end if
END FCT ^fct_1
@fct_1(12345,1) ==> ^result_1
@fct_1(12345,2) ==> ^result_2
因调用到FCT两次,会计算两次,这样会增加计算的时间。上面程序主要的用意是,能否使同一个FCT计算两个结果,以节省计算时间。
作者:
victorrose
时间:
2005-7-18 05:29
另外,在请教一下,进行optimization时,何以有时会满足FCT的限制条件,有时不会满足?谢谢。
作者:
redflag
时间:
2005-7-18 15:31
另一个方法就是使用全局变量,不一定要使用返回值.
至于何时满足,何时不满足,这就没有依据可以推断了,跟你要约束的目标有关系!! 如果你确信你的约束量是系统相关的,应该会起作用.
作者:
victorrose
时间:
2005-7-20 07:37
谢谢您的回答。
1.能否简单介绍「全局变量」
2.我要约束的目标是镜片最大处的厚度与最薄处厚度的比。可是以相同FCT运行的结果,有时可满足,有时就是不满足!?
3.想再请教:进行MTF optimization时,若希望MTF在0.5以上,而目前MTF为0.7,则CODEV会以0.5为目标,使得MTF降低!!!除了提高MTF的目标值之外,可否有其它方法?谢谢您。
作者:
redflag
时间:
2005-7-20 15:20
1.可以参考自带的宏: fifdef?
2.不知道是你计算错误,还是程序不执行?
3.如果目前MTF>0.5.为何还去再优化它呢? 另MTF优化时,MXC 最好小于5.
作者:
victorrose
时间:
2005-7-21 06:30
谢谢您的回答。
1. 您是指fifthdef?
2. 计算正确,程序亦可执行,只是有时能满足目标有时则否。
3. MTF>0.5 is just an example. MXC is as smaller than 5 as possible for MTF optimization, why???
Thanks a lot.
作者:
redflag
时间:
2005-7-21 16:39
1.fifthdef.seq 是CODEV自带的一个宏.你可以用任何一个编辑器打开它.
(不要告诉我你没有看过CODEV自带的宏. 其实它自带了近400个宏,都是你学习的资料. 遇到问题,首先要考虑看帮助,然后找相关的宏!)
2. CODEV有几种约束方式,WTC(
GUI MINIMIZE
)格式是可能这样的. 如果不是WTC,而出现这种情况,我就不知道了.^_^.
3. 这只是我的建议,WHY这样,你自己理解吧.
作者:
victorrose
时间:
2005-7-22 04:43
谢谢您的回答。Thanks a lot.
欢迎光临 光电工程师社区 (http://bbs.oecr.com/)
Powered by Discuz! X3.2