Contenido principal

OpticalSensitivity

R2026b

Sensitivity analysis results of optical system

Since R2026b

    Description

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

    An OpticalSensitivity object stores sensitivity analysis results, including nominal metric values, a results table with per-tolerance sensitivity coefficients, and the deviations of the target properties of the compensator from their nominal values.

    Creation

    Create an OpticalSensitivity object by using the opticalSensitivity function.

    Properties

    expand all

    This property is read-only.

    Nominal metric values, represented as a 1-by-n numeric vector containing the unperturbed metric values, where n is the number of metrics in the merit function.

    This property is read-only.

    Sensitivity results table, represented as a table with one row per tolerance-target combination. The table is sorted in descending order by impact, where impact is the difference between minimum and maximum metric scores. When you analyze optical sensitivity using multiple metrics, the table is sorted based on the maximum difference among them.

    The table contains these columns.

    ColumnDescription
    TargetPropertyProperty of a surface or component that the tolerance targets.
    TargetIndexTarget index of the tolerance. If the tolerance targets a surface property, the target index represents a surface. If the tolerance targets a component property, the target index represents a component.
    MetricScoren-by-2 cell array containing the metric scores, where n is the number of metrics in the merit function. The two columns represent the metrics of optical system at their minimum and maximum limits, respectively.
    Compensationm-by-2 cell array containing the deviations of the target properties of the compensator from their nominal values, where m is the number of tuning parameters in the compensator. The two columns represent the compensation of the parameter at the minimum and maximum limits.
    TargetPropertyTypeType of the tolerance object.
    StatusIndicated as "Pass" if the tolerance-target combination is successful. Otherwise, this column displays the error details.
    Sensitivity1-by-n vector containing the slope for each metric, where n is the number of metrics in the merit function.

    Object Functions

    applyPerturbationApply perturbation from sensitivity or tolerance analysis results

    Examples

    collapse all

    Import an optical system into the workspace.

    opsys = zmximport("PhotographicLens.zmx");

    Create an optical tolerance set with a tolerance for the radius of curvature of surfaces.

    tolSet = opticalToleranceSet;
    tolSet = addSurfaceRadiusTolerance(tolSet,0.05);

    Create a merit function object for evaluating system performance.

    meritFcn = opticalMeritFunction;
    meritFcn = addSpot(meritFcn);

    Run a sensitivity analysis on the optical system, using the merit function, and tolerance.

    resultSensitivity = opticalSensitivity(opsys,meritFcn,tolSet);

    Perturb the optical system by using the 16th tolerance-target combination.

    idx = 16;
    [sysMinComp,sysMaxComp] = applyPerturbation(resultSensitivity,idx,CompensatorApplied=false);

    Evaluate the merit function of the perturbed optical system at the minimum and maximum tolerance limits. Observe that these metric scores match the metric scores in the results of the original sensitivity analysis.

    evaluate(meritFcn,sysMinComp)
    ans = 
    0.0069
    
    evaluate(meritFcn,sysMaxComp)
    ans = 
    0.0085
    
    resultSensitivity.ResultTable.MetricScore{idx}
    ans = 1×2 cell array
        {[0.0069]}    {[0.0085]}
    
    

    Version History

    Introduced in R2026b