Using assignin with structure elements

Hi,
I have created a script where I want to assign a character string to an element in a structure, namely the "description" field of Simulink data objects in the workspace. I have seutp a loop to assign each using the following command:
assignin('base',myVar,myDes)
myVar is the variable as a string (e.g., 'name.Description'). myDes is the character string to be assigned as a description. When I run the command, I get this error:
Error using assignin
Invalid variable name "name.Description" in
ASSIGNIN.
Error in AddDescriptionToDDEntries (line 15)
assignin('base',myVar,myDes)
If I perform the assignment at the command line using an "=", it works fine. What am I missing?
Thanks!

 Accepted Answer

"What am I missing?" assignin() cannot assign to a field of a structure.
It's possible to do it with evalin(). Compare the note of the documentation on assignin()
To assign values to specific elements of an array, use the evalin function.
evalin('base','X(3:5) = -1')

2 Comments

You can evalin to get the current structure, modify the local copy, then assignin the entire structure from the modified version.
Thanks folks!. The combo of these two helped a lot.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 4 Jan 2020

Commented:

on 6 Jan 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!