Contenido principal

ComponentPositionTuning

R2026b

Tuning parameter for component position

Since R2026b

    Description

    Add-On Required: This feature requires the Optical Design and Simulation Library for Image Processing Toolbox add-on.

    A ComponentPositionTuning object defines a tuning parameter for the translational position of one or more components for use as a compensator during optimization in sensitivity and tolerance analysis.

    Creation

    Description

    comp = optics.optimize.ComponentPositionTuning(propertyName,bound) creates a tuning parameter for the specified component position property with bounds defined by bound. The tuning parameter applies to all top-level components.

    comp = optics.optimize.ComponentPositionTuning(propertyName,bound,TargetIndex=targetIdx) applies the tuning to only the components specified by targetIdx.

    Note

    This functionality requires Optimization Toolbox™.

    example

    Input Arguments

    expand all

    Component position property, specified as "PositionX", "PositionY", or "PositionZ".

    Data Types: char | string

    Tuning bounds, specified as a numeric scalar or a 1-by-2 numeric vector of the form [min max].

    • Scalar — Specifies a percentage bound relative to the nominal value. Percentage bounds have no effect when the nominal value is zero.

    • 1-by-2 vector — Specifies offset bounds [min max] relative to the nominal value.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Component indices to target, specified as a vector of positive integers. By default, the tuning parameter applies to all top-level components. Tuning for nested components is not supported.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Properties

    expand all

    This property is read-only.

    Name of the tuned property, represented as "PositionX", "PositionY", or "PositionZ".

    Target component indices, represented as a vector of positive integers. An empty value means the tuning parameter applies to all top-level components.

    Tuning bounds, represented as a 1-by-2 numeric vector of the form [lb ub] where lb and ub are the lower bound and upper bound, respectively. When you specify bound as a scalar, this is of the form [-bound +bound].

    This property is read-only.

    Bound interpretation type, represented as "Percentage" when you specify bound as a scalar, or "Absolute" when you specify bound as a 1-by-2 vector.

    Examples

    collapse all

    Import an optical system into the workspace.

    opsys = zmximport("CookeTriplet.zmx");

    Define a component position tuning parameter ranging from -0.5 to 0.5 for the X-position of the 3rd top-level component.

    comp = optics.optimize.ComponentPositionTuning(PositionX=0.5,TargetIndex=3)
    comp = 
      ComponentPositionTuning with properties:
    
        TargetProperty: "PositionX"
           TargetIndex: 3
                Bounds: [-0.5000 0.5000]
             BoundType: "Percentage"
    
    

    Version History

    Introduced in R2026b