Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

get_param

Obtener nombres y valores de parámetros

Descripción

ejemplo

value = get_param(object,parameter) devuelve el valor value del parámetro especificado parameter para el objetivo, especificado como object. El objetivo puede ser un modelo, subsistema, biblioteca, bloque, línea, puerto o un elemento del puerto de elementos de bus.

Abra o cargue el modelo, subsistema o biblioteca relacionados de Simulink® antes de llamar a esta función.

Ejemplos

contraer todo

Cargue el modelo vdp.

load_system('vdp');

Obtenga el valor del parámetro de bloque Expression.

BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue =

    'Element-wise(K.*u)'

Obtenga el valor del parámetro de modelo SolverType.

SolverType = get_param('vdp','SolverType')
SolverType =
   Variable-step

Obtenga una lista de nombres de los parámetros globales encontrando la diferencia entre los nombres de parámetro de raíz de Simulink y los nombres de los parámetros de modelo.

RootParameterNames = fieldnames(get_param(0,'ObjectParameters'));
load_system('vdp')
ModelParameterNames = fieldnames(get_param('vdp','ObjectParameters'));
GlobalParameterNames = setdiff(RootParameterNames,ModelParameterNames)
GlobalParameterNames =
          'AutoSaveOptions'
          'CacheFolder'
          'CallbackTracing'
          'CharacterEncoding'
                 . . .
          'CurrentSystem'

Obtenga el valor de un parámetro global.

GlobalParameterValue = get_param(0,'CurrentSystem')
GlobalParameterValue =
          vdp

Obtenga una lista de parámetros de modelo para el modelo vdp.

load_system('vdp')
ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames =
              Name: [1x1 struct]
               Tag: [1x1 struct]
       Description: [1x1 struct]
              Type: [1x1 struct]
            Parent: [1x1 struct]
            Handle: [1x1 struct]
                       . . .
           Version: [1x1 struct]

Obtenga el valor actual del parámetro de modelo ModelVersion para el modelo vdp.

ModelParameterValue = get_param('vdp','ModelVersion')
ModelParameterValue =
          1.6

Obtenga una lista de nombres y rutas de bloque para el modelo vdp.

load_system('vdp')
BlockPaths = find_system('vdp','Type','Block')
BlockPaths =

  14×1 cell array

    {'vdp/Constant'            }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Square'              }
    {'vdp/Sum'                 }
    {'vdp/Sum1'                }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Obtenga una lista de los parámetros del cuadro de diálogo del bloque para el bloque Gain denominado Mu.

BlockDialogParameters = get_param('vdp/Mu','DialogParameters')
BlockDialogParameters = 

  struct with fields:

                         Gain: [1×1 struct]
               Multiplication: [1×1 struct]
                     ParamMin: [1×1 struct]
                     ParamMax: [1×1 struct]
             ParamDataTypeStr: [1×1 struct]
                       OutMin: [1×1 struct]
                       OutMax: [1×1 struct]
               OutDataTypeStr: [1×1 struct]
                    LockScale: [1×1 struct]
                      RndMeth: [1×1 struct]
    SaturateOnIntegerOverflow: [1×1 struct]
                   SampleTime: [1×1 struct]

Obtenga el valor del parámetro de bloque Multiplication.

BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue =
    'Element-wise(K.*u)'

Obtenga el valor de un parámetro del bloque Gain denominado Mu en el modelo vdp

Para obtener un identificador para el bloque Gain denominado Mu, utilice la función getSimulinkBlockHandle. Para cargar el modelo vdp, especifique true.

mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

Si realiza varias llamadas a get_param para el mismo bloque, usar el identificador de bloque es más eficiente que especificar la ruta completa del bloque como un vector de caracteres, por ejemplo, 'vdp/Mu'.

Puede utilizar el identificador de bloque en llamadas sucesivas a get_param o set_param. El identificador contiene un doble. No intente introducir manualmente el número de un identificador; por ejemplo, 5.007, porque normalmente necesita especificar más dígitos de los que muestra MATLAB®. En su lugar, asigne el identificador a una variable y utilice ese nombre de variable para especificar el bloque.

Use getSimulinkBlockHandle para cargar el modelo vdp, si es necesario especificando true, y obtenga un identificador para el bloque Gain denominado Mu.

mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

Use el identificador de bloque con get_param y obtenga el valor para el parámetro del bloque Multiplication.

BlockParameterValue = get_param(mublockhandle,'Multiplication')
BlockParameterValue =
    'Element-wise(K.*u)'

Obtenga una lista de nombres y rutas de bloque para el modelo vdp.

load_system('vdp')
BlockPaths = find_system('vdp','Type','Block')
BlockPaths =

  14×1 cell array

    {'vdp/Constant'            }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Square'              }
    {'vdp/Sum'                 }
    {'vdp/Sum1'                }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Obtenga el valor para el parámetro BlockType para cada uno de los bloques en el modelo vdp.

BlockTypes = get_param(BlockPaths,'BlockType')
BlockTypes =

  14×1 cell array

    {'Constant'  }
    {'SubSystem' }
    {'SubSystem' }
    {'Gain'      }
    {'Mux'       }
    {'Product'   }
    {'Scope'     }
    {'Math'      }
    {'Sum'       }
    {'Sum'       }
    {'Integrator'}
    {'Integrator'}
    {'Outport'   }
    {'Outport'   }

Puede recuperar la lista de opciones para un parámetro, un objeto de Simulink, un diagrama de bloque o una anotación con get_param, con la palabra clave options.

Obtenga la lista de opciones para un parámetro enmascarado. Por ejemplo, supongamos que tiene un bloque Gain que está enmascarado y tiene parámetros de ventana emergente y de cuadro combinado.

get_param('vdp/Mu','options@Multiplication')
ans =

  1×4 cell array

    {'Element-wise(K.*u)'}  
  {'Matrix(K*u)'}    {'Matrix(u*K)'}    {'Matrix(K*u) (u vec…'}

Obtenga la lista de opciones para un parámetro de bloque, como el parámetro ShowPortLabels de un bloque Subsystem.

get_param(gcb,'options@showportlabels')
ans =
  1×4 cell array
    {'none'}    {'FromPortIcon'}    {'FromPortBlockName'}    {'SignalName'}

Puede acceder al valor evaluado de un parámetro de bloque enmascarado usando la función get_param, con la palabra clave value.

Por ejemplo, puede obtener el valor evaluado de un parámetro edit de un bloque enmascarado Gain.

get_param(gcb,'value@edit')
ans =
     4

La opción de recuperar el valor evaluado está limitada a los parámetros de máscara.

Argumentos de entrada

contraer todo

Nombre, ruta o identificador del objeto o de la raíz, especificados como vector de caracteres, arreglo de celdas de vectores de caracteres, escalar de cadena, escalar numérico o 0.

La forma de especificar el objetivo depende de su tipo.

  • Modelo: nombre o identificador del modelo.

  • Subsistema: nombre o identificador del subsistema.

  • Biblioteca: nombre o identificador de la biblioteca.

  • Bloque: ruta o identificador del bloque.

  • Línea: identificador de la línea.

  • Puerto: identificador del puerto.

  • Elemento del puerto de elementos de bus: ruta del bloque del componente de modelo con etiqueta de elemento. El elemento puede ser cualquier elemento de puerto, como un bus de nivel superior, un bus anidado, una señal o un mensaje.

Para especificar varios objetos con un parámetro común, use un arreglo de celdas de vectores de caracteres, un arreglo de cadena, o un arreglo de identificadores. Todos los objetos especificados deben tener el parámetro especificado, de lo contrario, la función devuelve un error.

Especifique 0 para obtener nombres de los parámetros de raíz, incluidos los parámetros globales y los parámetros modelo para la sesión actual de Simulink.

  • Los parámetros globales incluyen preferencias del editor y parámetros de Simulink Coder™.

  • Los parámetros de modelo incluyen parámetros de configuración, parámetros de Simulink Coder y parámetros de Simulink Code Inspector™.

Ejemplo: 'vdp/Mu'

Ejemplo: 'mymodel/Subsystem1/Out1.nonsinusoidal.saw'

Consejos

  • Si realiza varias llamadas a get_param para el mismo bloque, especifique el bloque con un identificador numérico. Este método es más eficiente que utilizar la ruta completa del bloque con get_param. Utilice getSimulinkBlockHandle para obtener un identificador de bloque.

  • No intente especificar manualmente el número de un identificador; por ejemplo 5.007, porque normalmente necesita especificar más dígitos de los que muestra MATLAB. Asigne el identificador a una variable y utilice ese nombre de variable.

Tipos de datos: char | string | double

Nombre de parámetro, propiedad o atributo, especificados como vector de caracteres o escalar de cadena. Algunos nombres distinguen entre mayúsculas y minúsculas.

Esta tabla muestra casos especiales.

Parámetro especificadoResultado
'ObjectParameters'

Nombres de los parámetros del objeto especificado como campos separados en un arreglo de estructura.

'DialogParameters'

Nombres de los parámetros de cuadros de diálogo de bloques como campos separados en un arreglo de estructura. Si el bloque tiene una máscara, la función devuelve los parámetros de máscara en su lugar.

Para obtener información sobre parámetros, propiedades o atributos, consulte la información de uso programático de las correspondientes páginas de referencia. Por ejemplo:

  • Modelos: consulte las páginas de referencia del parámetro de configuración.

  • Bloques: consulte Common Block Properties y las páginas de referencia de bloques.

  • Puertos: consulte la página de referencia de herramientas Signal properties.

  • Elementos del puerto de elementos de bus: consulte las páginas de referencia de bloques In Bus Element y Out Bus Element.

Ejemplo: 'ObjectParameters'

Ejemplo: 'Solver'

Ejemplo: 'SimulationCommand'

Ejemplo: 'Position'

Ejemplo: 'NameLocation'

Tipos de datos: char | string

Argumentos de salida

contraer todo

Valor del parámetro, devuelto en el formato determinado por el tipo de parámetro. Si especifica varios objetos, la salida es un arreglo de celdas.

Esta tabla muestra casos especiales.

Parámetro especificadoResultado
'ObjectParameters'

Nombres de los parámetros del objeto especificado como campos separados en un arreglo de estructura.

'DialogParameters'

Nombres de los parámetros de cuadros de diálogo de bloques como campos separados en un arreglo de estructura. Si el bloque tiene una máscara, la función devuelve los parámetros de máscara en su lugar.

Si obtiene los parámetros de raíz especificando get_param(0,'ObjectParameters'), la salida value es un arreglo de estructura con los nombres de los parámetros de raíz como campos separados en la estructura. Cada campo de parámetro es una estructura que contiene estos campos:

  • Tipo: los valores de tipo parámetro son 'boolean', 'string', 'int', 'real', 'point', 'rectangle', 'matrix', 'enum', 'ports' o 'list'.

  • Enum: arreglo de celdas de valores de vector de caracteres de una enumeración que solo se aplica a tipos de parámetros 'enum'.

  • Atributos: arreglo de celdas de vectores de caracteres que definen los atributos del parámetro. Los valores son 'read-write', 'read-only', 'read-only-if-compiled', 'write-only', 'dont-eval', 'always-save', 'never-save', 'nondirty' o 'simulation'.

Historial de versiones

Introducido antes de R2006a