私はあなたが見ることができるように、ディレクトリからランダムな画像を引っ張って、それらを比較するように頼んでいるこのプログラムを持っています。スライダで値を設定した後、ユーザはスライダとランダムなピクチャのペアをリセットする "次の試行"ボタンを押します。特定の繰り返し回数(ボタンが押された後)でプログラムが自動的に終了するようにコードを変更するにはどうすればよいですか?(できれば "Experiment Ended"メッセージが表示されます)X回繰り返した後のMATLAB停止プログラム?
MATLABのドキュメントでこれを行う方法については何も見つかりません。変数を設定する必要があるので、ボタンを押すたびに変数の値に "1"が追加され、特定の数値(「100」など)に達したら終了します。それはこれを行う最も簡単な方法ですか?ここで
はスクリプトです:私はここを参照してください
function trials
files = dir(fullfile('samples','*.png'));
nFiles = numel(files);
combos = nchoosek(1:nFiles, 2);
index = combos(randperm(size(combos, 1)), :);
picture1 = files(index(1)).name;
picture2 = files(index(2)).name;
image1 = fullfile('samples',picture1);
image2 = fullfile('samples',picture2);
subplot(1,2,1); imshow(image1);
subplot(1,2,2); imshow(image2);
uicontrol('Style', 'text',...
'Position', [200 375 200 20],...
'String','How related are these pictures?');
uicontrol('Style', 'text',...
'Position', [50 375 100 20],...
'String','Unrelated');
uicontrol('Style', 'text',...
'Position', [450 375 100 20],...
'String','Closely related');
uicontrol('Style','pushbutton','String','Next Trial',...
'Position', [250 45 100 20],...
'Callback','clf; trials()');
h = uicontrol(gcf,...
'Style','slider',...
'Min' ,0,'Max',50, ...
'Position',[100 350 400 20], ...
'Value', 25,...
'SliderStep',[0.02 0.1], ...
'BackgroundColor',[0.8,0.8,0.8]);
set(gcf, 'WindowButtonMotionFcn', @cb);
lastVal = get(h, 'Value');
function cb(s,e)
if get(h, 'Value') ~= lastVal
lastVal = get(h, 'Value');
fprintf('Slider value: %f\n', lastVal);
end
end
end
あなたは再実装[熱いかどうか]しようとしています(http://ja.wikipedia.org/wiki/Hot_or_Not)? – yuk