Main Content

setValues

Set grid values of parameters in gridded parameter space

Since R2023a

    Description

    gs = setValues(gs0,p,values) sets the values of the parameters specified in p in a gridded parameter space. The property gs.ParameterValues reflects the new parameter values.

    example

    Examples

    collapse all

    Open the sdoCSTR model and create a gridded parameter space for model parameters A and h.

    mdl = "sdoCSTR";
    open_system(mdl);
    p = sdo.getParameterFromModel(mdl,{'A','h'});
    gs0 = sdo.GriddedSpace(p)
    gs0 = 
      GriddedSpace with properties:
    
        ParameterValues: {{1x2 cell}  {1x2 cell}}
                  Notes: []
                 Spaces: {1x0 cell}
         ParameterNames: {'A'  'h'}
                Options: [1x1 sdo.GriddingOptions]
    
    

    Because you do not specify allowed grid values for the two parameters, sdo.GriddedSpace assigns the default values: 10% less than the parameter nominal value, the nominal value, and 10% more than the nominal value. Change the allowed values for both parameters to a specified set.

    Avals1 = {0.2 0.6 1.0 1.4 1.8 2.2};
    hvals1 = {0.5 1.5 2.5 3.5};
    gs1 = setValues(gs0,p,{Avals1,hvals1})
    gs1 = 
      GriddedSpace with properties:
    
        ParameterValues: {{1x2 cell}  {1x2 cell}}
                  Notes: []
                 Spaces: {1x0 cell}
         ParameterNames: {'A'  'h'}
                Options: [1x1 sdo.GriddingOptions]
    
    

    setValues replaces the allowed values for both parameters with the new sets of values.

    Now, set new values for the parameter h only. This time, specify the parameter by its name instead of by a parameter object.

    hvals2 = {0.2 0.5 1.0 1.2 1.8};
    gs2 = setValues(gs0,'h',{hvals2})
    gs2 = 
      GriddedSpace with properties:
    
        ParameterValues: {{1x2 cell}  {1x2 cell}}
                  Notes: []
                 Spaces: {1x0 cell}
         ParameterNames: {'A'  'h'}
                Options: [1x1 sdo.GriddingOptions]
    
    

    Here, setValues replaces the allowed values for h with the new set of values.

    Input Arguments

    collapse all

    Gridded parameter space in which to set parameter values, specified as an sdo.GriddedSpace object.

    Parameters to update in gs0, specified as one of the following:

    • Character vector, cell array of character vectors, or string containing the names of the parameters to update in gs0. For example, 'A1', {'A1','A2'}, or "A1".

    • param.Continuous object, param.Discrete object, or vector of parameter objects. Usually, you obtain these objects using sdo.getParameterFromModel or sdo.getStateFromModel.

    Parameter values for gridded sampling, specified as a cell array of cell arrays providing the allowed values for each parameter in p. For instance, if p contains two parameters, one that can take values (1, 2, 3) and another that can take values (10, 20, 30), then use values = {{1,2,3},{10,20,30}}. Use this argument when adding parameters for gridded sampling to an sdo.GriddedSpace object.

    Output Arguments

    collapse all

    Updated parameter space, returned as an sdo.GriddedSpace object. setValues sets gs.ParameterValues, to reflect the values specified in the values argument for the parameter or parameters specified in p.

    Version History

    Introduced in R2023a