How do I copy a Simulink Parameter Object by value in Simulink?
6 views (last 30 days)
Show older comments
MathWorks Support Team
on 27 Jun 2009
Edited: MathWorks Support Team
on 24 Apr 2014
I have a Simulink Parameter Object, and I would like to copy this variable by value. When I execute the following code, I note that the copy I make using the "=" (equals) operator is actually a copy by reference:
a=Simulink.Parameter; % create a parameter object
a.Value=5; % set a value
b=a; % copy by reference
b.Value=10; % change the value in the copy
% Now, note that the value in the original has also changed.
a.Value
Accepted Answer
MathWorks Support Team
on 18 Oct 2013
In order to create a new Simulink Parameter Object from an existing one, use the "copy" method when using MATLAB R2012a or later.
The following code creates a copy by value of a Simulink Parameter object.
a=Simulink.Parameter; % create a parameter object
a.Value=5; % set a value
b=a.copy; % use copy
b.Value=10; % change the value in the copy
% Now we notice that the original value has not changed:
a.value
If you are using MATLAB versions prior to R2012a, please use "deepCopy" rather than "copy".
0 Comments
More Answers (0)
See Also
Categories
Find more on Programmatic Model Editing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!