나는 최종 결과가 사인 함수 (또는 다른 함수)의 움직이는 컬러 플롯 인 main 함수에 의해 차례로 호출되는 세 개의 함수가 있습니다. main 함수는 타이머 객체를 통해이를 수행합니다.함수를 플롯하는 Matlab Timer 함수
정적 플롯을 만들 수 있지만 내 타이머 개체에 제공된 값을 기반으로 업데이트 할 수 없습니다. 타이머 '타이머 19'
잘못되었거나 삭제 된 개체에 대한 TimerFcn을 평가하는 동안
오류 :
나는 다음과 같은 오류 메시지가 나타납니다.
clc; clear all; close all; rows = 1; cols = 30; t = timer('StartDelay', 0.05, 'Period', 0.05, 'TasksToExecute', 1000, ... 'ExecutionMode', 'fixedRate'); t.StartFcn = {@window, rows, cols}; t.TimerFcn = {@window_timer}; t.StopFcn = @(x,y)disp('end'); start(t)
코드 타이머 기능에 의해 호출 된 함수 : 다음
메인 윈도우에 대한 코드는 마지막
function window_timer(obj, event)
imgh = get(obj,'UserData');
myMat = get(imgh,'CData');
myMat = myMat_new(myMat);
set(imgh,'CData',myMat);
drawnow;
pause(0.02);
set(obj,'UserData',imgh);
end
과 랜덤 행렬 값을 대체하는 기능 사인 함수
function [ myMat ] = myMat_new(myMat)
x = -pi:1/10:pi;
myMat = sin(x);
end
내가 뭘 잘못 했니? 당신은 'OBJ가'생성하여 타이머를 실행하는 경우
실행되지 않는 것을 어떻게 알 수 있습니까? "myMat_new"는 항상 동일한 출력을 반환하기 때문에 코드에서 "new"이미지 데이터는 "old"이미지 데이터와 동일하게 보일 것입니다. – Suever
그래서 그래프는 사인파가 업데이트 될 때까지 컬러 맵핑을 표시해야합니다. 프로그램은 루프를 종료합니다. "움직이는"그래프가 보이지 않기 때문에 코드가 작동하지 않는다고 말할 수 있습니다. –
데이터를 업데이트하지 않습니다. 매번 동일한 데이터로 바꾸는 것입니다. – Suever