How do I copy a Simulink Parameter Object by value in Simulink?

16 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 18 Ott 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".

Più risposte (0)

Prodotti


Release

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by