Main Content

Simulink.ModelWorkspace

Interagire con il workspace di un modello in modo programmatico

Descrizione

Utilizzare un oggetto Simulink.ModelWorkspace per interagire con un workspace del modello. Ad esempio, è possibile aggiungere e rimuovere variabili, impostare la sorgente dei dati del workspace e salvare le modifiche nel workspace.

Per ulteriori informazioni, vedere Model Workspaces.

Creazione

Per creare un Simulink.ModelWorkspace, utilizzare la funzione get_param per eseguire una query sul valore del parametro del modello ModelWorkspace. Ad esempio, per creare un oggetto chiamato mdlWks che rappresenti il workspace di un modello denominato myModel.slx:

mdlWks = get_param('myModel','ModelWorkspace')

Proprietà

espandi tutto

Sorgente per l'inizializzazione delle variabili nel workspace del modello, specificata come uno di questi vettori di caratteri:

  • 'Model File': le variabili sono memorizzate nel file del modello. Quando si salva il modello, vengono salvate anche le variabili.

  • 'MATLAB Code': le variabili sono create dal codice MATLAB scritto dall'utente e memorizzate nel file del modello.

  • 'MAT-File': le variabili sono memorizzate in un MAT-file, che è possibile gestire e manipolare separatamente dal file del modello.

  • 'MATLAB File': le variabili sono create dal codice MATLAB in un file di script, che è possibile gestire e manipolare separatamente dal file del modello.

Tipi di dati: char

Nome del file esterno che memorizza o crea le variabili, specificato come vettore di caratteri. Per abilitare questa proprietà, impostare DataSource su 'MAT-File' o 'MATLAB File'.

Esempio 'myFile.mat'

Esempio 'myFile.m'

Tipi di dati: char

Codice MATLAB per l'inizializzazione delle variabili, specificato come vettore di caratteri. Per abilitare questa proprietà, impostare DataSource su 'MATLAB Code'.

Esempio sprintf('%% Create variables that this model uses.\n\nK = 0.00983;\n\nP = Simulink.Parameter(5);')

Tipi di dati: char

Funzioni oggetto

getVariableReturn value of variable in the model workspace of a model
getVariablePartGet value of variable property in model workspace
setVariablePartSet property of variable in model workspace
hasVariableDetermine whether variable exists in the model workspace of a model
whosReturn list of variables in the model workspace of a model
saveToSourceSave model workspace changes to the external data source of the model workspace
saveSave contents of model workspace to a MAT-file
reloadReinitialize variables from the data source of a model workspace
evalinEvaluate expression in the model workspace of a model
clearClear variables from the model workspace of a model
assigninAssign value to variable in the model workspace of a model

Esempi

comprimi tutto

Creare una variabile nel workspace di un modello. Quindi, modificare la variabile ed eseguire una query sul valore della variabile per confermare la modifica.

Aprire il modello dell'esempio vdp.

openExample('simulink_general/VanDerPolOscillatorExample')

Creare un oggetto Simulink.ModelWorkspace mdlWks che rappresenti il workspace del modello di vdp.

mdlWks = get_param('vdp','ModelWorkspace');

Creare una variabile denominata myVar con valore 5.12 nel workspace del modello.

assignin(mdlWks,'myVar',5.12)

Applicare un nuovo valore 7.22. A tal fine, creare prima una copia temporanea della variabile utilizzando la funzione getVariable. Quindi, modificare la copia e utilizzarla per sovrascrivere la variabile originale nel workspace del modello.

temp = getVariable(mdlWks,'myVar');
temp = 7.22;
assignin(mdlWks,'myVar',temp)

Confermare il nuovo valore eseguendo una query sul valore della variabile.

getVariable(mdlWks,'myVar')
ans =

    7.2200

Cronologia versioni

Introduzione prima di R2006a