切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
  • CODE V:表达式中的关系测试

    作者:薛金娜 来源:欧熠光电 时间:2020-11-17 15:46 阅读:654 [投稿]
    Macro-PLUS是用于与CODE V交互和编写脚本的编程语言。作为Macro-PLUS语言的一部分,关系测试可以用在表达式中的两个语句之间。

    Macro-PLUS是用于与CODE V交互和编写脚本的编程语言。作为Macro-PLUS语言的一部分,关系测试可以用在表达式中的两个语句之间。关系表达式包括等于(=)、不等于(<,>)、大于(>)和小于(<)。你在一些案例中可以使用此功能,例如,表达式中的一部分是有条件的,如下面的示例所述。关系测试可以成为表达式的一部分,而不是使用IF ELSE代码块,因此关系测试可以潜在的简化宏。此篇文章,我们将讨论如何在Ceil()和Floor()函数中使用关系测试,以及在优化的用户自定义约束中使用关系测试。

    Ceil和Floor函数

    以下是关于如何在表达式中使用关系测试的一个简单示例,查看如何返回一个数字的“天花板”(celing)和“地板”(floor)。Ceil()函数的输出是大于或等于实参的最小整数。例如1.123的celing是2。类似的,Floor()函数的输出是小于或等于实参的最大整数。例如1.123的floor是1。以下是我们使用宏加上内建函数ROUNDF()来实现这两个函数的方法,ROUNDF函数可以将一个数字四舍五入到最接近的整数,最后的结果用CODE V输出。


    注意上述,(ROUNDF(^n)>^n)和(ROUNDF(^n)<^n)是一个关系测试。如果这个条件是真的,则返回1,单元要么相减,要么相加。如果条件是假的,则返回0,单元不加不减。

    优化中的用户自定义约束

    在具有自定义约束的优化序列中,你也可以使用这种关系表达式。有一种情况是当你使用玻璃专家在玻璃目录中选择玻璃时,玻璃专家将会对系统中每一个允许的表面使用已定义的玻璃目录。你可以使用关系表达式对某些表面在玻璃选择时排除一些不需要的玻璃目录。这个概念是使用一个关系表达式来检查特定表面的玻璃目录,并在用户自定义约束中以(GLA CATSn)数据库项使用它。以这样的方式定义用户自定义约束的目标,如果玻璃目录不是所需的目录之一,他会显著的增加误差函数。这将有效地排除不需要的玻璃目录用于该表面的解。例如,我们可以定义一个用户自定义的约束来避免S1使用SCHOTT玻璃,如下图所示:


    本文来自欧熠光电微信公众号ShanghaiOE,推荐关注!

    分享到:
    扫一扫,关注光行天下的微信订阅号!
    【温馨提示】本频道长期接受投稿,内容可以是:
    1.行业新闻、市场分析。 2.新品新技术(最新研发出来的产品技术介绍,包括产品性能参数、作用、应用领域及图片); 3.解决方案/专业论文(针对问题及需求,提出一个解决问题的执行方案); 4.技术文章、白皮书,光学软件运用技术(光电行业内技术文档);
    如果想要将你的内容出现在这里,欢迎联系我们,投稿邮箱:service@opticsky.cn
    文章点评