Я использую GUIDE для matlab gui. Gui построен для связи с измерительным устройством keithley через GPIB. При использовании кнопки переключения для текущего измерения во время цикла я использую функцию pause() внутри цикла while для каждой итерации и ytranspose по результатам поиска массива y.Matlab gui с функцией паузы
function Measure_Callback(hObject, eventdata, handles)
global GPIB1
global filename
global timeStep
disp('Measurement in progress \n stopwatch starts!');
tic
x=0;
n=0;
while get(hObject,'Value')
fprintf(GPIB1, 'printnumber(smua.measure.i(smua.nvbuffer1))');
fprintf(GPIB1, 'printbuffer(1,1,nvbuffer1)');
A = fscanf(GPIB1);
if length(A)<20
x = x+1;
n = n+1;
t(n) = toc ;
y(x) = str2double(A);
plot(t,y,'-bo',...
'LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[.49 1 .63],...
'MarkerSize',10);
grid on
hold on
end
title('Current vs Time','FontSize', 15)
xlabel('Time [s]','FontSize', 15)
ylabel('Current [A]','FontSize', 15)
a = timeStep;
pause(a)
end
disp('Measurement terminated');
disp('Elapsed time: ');
elapsedtime = toc;
elapsedtime_string = num2str(elapsedtime);
disp(elapsedtime_string);
ytrans = transpose(y);
csvwrite(filename,ytrans);
fprintf(GPIB1, 'smua.source.output = smua.OUTPUT_OFF');
Для функции паузы я Geting ошибку: ?? Ошибка использование ==> Пауза Ошибка при оценке UIControl Обратного звонка
Для функции транспонирования (у) Я также получаю сообщение об ошибке: его неопределенных у.
Не могу понять, почему эти ошибки и могут помочь. Спасибо!
Вопросы по StackOverflow обычно должны содержать [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve). Код, который вы опубликовали, не является полным и не поддается проверке. Пожалуйста, отредактируйте свой вопрос (http://stackoverflow.com/posts/34716775/edit), чтобы убедиться, что код в вашем вопросе ** Минимальный ** (только код, необходимый для воспроизведения), ** Завершить ** (весь код, необходимый для воспроизведения) и ** Подтверждаемый ** (мы должны иметь возможность воспроизвести проблему, используя только код в вашем вопросе, не меньше и ничего больше). – excaza
Когда вы спрашиваете об ошибках и предупреждениях, также желательно, чтобы вы отправляли * цельное * сообщение и трассировку стека, а не перефразируя. – excaza