如何永久替换变量值

时间:2013-12-18 08:51:36

标签: matlab matlab-guide

我正在尝试在Matlab中永久更新变量值。我想制作一个GUI,其中有一个具有变量值的按钮(例如k = 3),我将添加4,并在文本框中显示值(例如7)。现在值(即7)将是k的新值。因此,如果再次单击按钮,它将在文本框中显示更新的值(例如,k = 7,在文本框中:7 + 4 = 11)。我是matlab的新手,并尝试了很多方法来解决它。最简单的方法是:

  function addition_Callback(hObject, eventdata, handles)
  k =3;
  k = 4+k;
  set(handles.value,'String', ...   %here value is the name of the text box
  [ k ]);

但是每次点击按钮时,都会从一开始就按照假设开始。如何声明变量以使其按照我刚刚提到的方式工作?

1 个答案:

答案 0 :(得分:1)

为什么不简单地使用当前显示的字符串作为起点?

function addition_Callback(hObject, eventdata, handles)
  % get the currently displayed value and convert it to a number
  current = str2double(get(handles.value, 'String'));
  % current will be nan if the string is empty or not a valid number
  if isnan(current)
      current = 3; % start or fallback-value
  end
  new = 4+current;
  set(handles.value,'String', new)   %here value is the name of the text box