How do I copy a Simulink Parameter Object by value in Simulink?
16 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2009 年 6 月 27 日
編集済み: MathWorks Support Team
2014 年 4 月 24 日
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
採用された回答
MathWorks Support Team
2013 年 10 月 18 日
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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!