Add and delete Line and port
6 次查看(过去 30 天)
显示 更早的评论
Laurensius Christian Danuwinata
2016-2-15
评论: Laurensius Christian Danuwinata
2016-2-24
Hello, I have a popup-parameter in a Block Mask. And if an element from the list in popup chosen, the add_line and add_block should be execute. Then, if I choose new element, the old add_line and _block should be deleted and the new add_line and _block will be added. I can use it separately, but how can I write it just in one code? Thanks :D
0 个评论
采纳的回答
Arnab Sen
2016-2-22
Hi Laurensius,
My understanding from the question is that you would like to perform different action when the popup list element is chosen for the first time than when the list element is chosen for the second time.
We can use 'persistent' variable for this purpose which holds the value between the function calls (Similar to 'static' variable in C). Based on the value of the persistent variable you may take different action as per required.
As an illustration, you may consider the following code in the callback of the particular popup:
b=valueOfPersistent;
if(b==1)
% the add_line and add_block code
disp('b==1');
else
%Code to delete the old add_line and _block and add new add_line and _block
disp(b);
end
And write the function 'valueOfPersistent' as follow:
function b=valueOfPersistent
persistent a;
if isempty(a)
a=1;
end
b=a;
a=a+1;
end
Here the function initializes the variable 'a' only once and increment the values each time the function is called from the callback and returns the latest value.
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Programmatic Model Editing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!