吾爱光设

 找回密码
 注册
会员须知
会员须知
实用帮助
实用帮助
查看: 2796|回复: 10

[求助] 想用一个用户自定义函数,约束各物距下总长相等。

[复制链接]
  • TA的每日心情
    慵懒
    2024-11-22 08:56
  • 签到天数: 304 天

    [LV.8]以坛为家I

    8

    主题

    28

    回帖

    4

    积分

    小白

    积分
    4
    发表于 2023-7-17 16:02 | 显示全部楼层 |阅读模式
    比如,现在对20个不同的物距同时优化,想让这20个物距下的总长(第一个镜片到像面的距离)都相等。能不能写一个函数完成这个功能?现在是要重复输入19遍,比较麻烦。
    @a==(oal s1..i z1)-(oal s1..i z2)
    @a=0
    现在就得这么输入19次,有其他方法吗?
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-21 09:11
  • 签到天数: 640 天

    [LV.9]以坛为家II

    22

    主题

    863

    回帖

    126

    积分

    入门

    积分
    126
    发表于 2023-7-17 16:35 | 显示全部楼层
    建议直接写一个宏文件进行优化,比你一个个输要快很多,不过有时候宏文件优化和软件的aut优化有一点差别
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-11-22 09:47
  • 签到天数: 787 天

    [LV.10]以坛为家III

    40

    主题

    187

    回帖

    32

    积分

    新手

    积分
    32
    发表于 2023-7-17 16:41 | 显示全部楼层
    不用那么麻烦,在zemax里面直接用拾取功能,一个表面厚度当变量,另一个面的表面厚度进行“位置”拾取。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-11-22 08:56
  • 签到天数: 304 天

    [LV.8]以坛为家I

    8

    主题

    28

    回帖

    4

    积分

    小白

    积分
    4
     楼主| 发表于 2023-7-17 17:03 | 显示全部楼层
    fct @o_al(num ^i)
    num ^j
    num ^m ^n
    ^n==0
    for ^j 1 ^i-1
            ^m==absf((oal s1..i z1)-(oal s1..i z^j+1))
            ^n==^n+^m
    end for
    end fct ^n

    我写了一个函数,约束这个@o_al()为0,但是优化结果始终都不为零,是一个接近0的数,误差函数在优化过程中也上下波动。不知道是哪有问题。


    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2023-5-6 10:39
  • 签到天数: 73 天

    [LV.6]常住居民II

    4

    主题

    42

    回帖

    4

    积分

    小白

    积分
    4
    发表于 2023-7-17 19:04 来自手机 | 显示全部楼层
    把^m改为,^M
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2023-5-6 10:39
  • 签到天数: 73 天

    [LV.6]常住居民II

    4

    主题

    42

    回帖

    4

    积分

    小白

    积分
    4
    发表于 2023-7-17 19:05 来自手机 | 显示全部楼层
    微凉 发表于 2023-7-17 19:04
    把^m改为,^M

    ^m改为^m==1000*xxx,试下,如果不行再增加系数的权重
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-21 09:11
  • 签到天数: 640 天

    [LV.9]以坛为家II

    22

    主题

    863

    回帖

    126

    积分

    入门

    积分
    126
    发表于 2023-7-17 20:01 | 显示全部楼层
    本帖最后由 Decade 于 2023-7-17 20:23 编辑
    Kaleo 发表于 2023-7-17 17:03
    fct @o_al(num ^i)
    num ^j
    num ^m ^n

    你就用你一开始写的然后自己写一个aut文件,优化的很迅速,如果是0.0000小数点后很多位但是不为0那没事的
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-11-22 08:56
  • 签到天数: 304 天

    [LV.8]以坛为家I

    8

    主题

    28

    回帖

    4

    积分

    小白

    积分
    4
     楼主| 发表于 2023-7-18 10:52 | 显示全部楼层
    Decade 发表于 2023-7-17 20:01
    你就用你一开始写的然后自己写一个aut文件,优化的很迅速,如果是0.0000小数点后很多位但是不为0那没事的

    和一条一条添加区别不大,就是想问问有没有能输入一次就解决的方法。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-1 09:48
  • 签到天数: 170 天

    [LV.7]常住居民III

    3

    主题

    27

    回帖

    2

    积分

    小白

    积分
    2
    发表于 2024-1-16 10:13 | 显示全部楼层
    你这是内对焦吧,物距开zoom,内对焦的两个间隙开zoom,后面的间隙用负的pick up就好了
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-4 00:53
  • 签到天数: 39 天

    [LV.5]常住居民I

    0

    主题

    33

    回帖

    4

    积分

    小白

    积分
    4
    发表于 2024-5-25 16:32 | 显示全部楼层
    不要用自定义函数去约束, 用表面回归来实现多重结构的总长相等.
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-11-23 04:39 , Processed in 0.109375 second(s), 23 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表