Error message using timer

6 views (last 30 days)
Happy PhD
Happy PhD on 27 May 2021
Commented: Jan on 28 May 2021
Hi,
Im having issues with my timers giving lots of error messages when being runned.
Im using the timer to plot a capture of an image from a camera to get a live stream of the camera.
I also want to plot the image profiles using a secon timer. They can use the same timer, but im not sure its possible.
Any idea what the issue is?
Im getting the following error;
The state of warning 'MATLAB:JavaEDTAutoDelegation' is 'off'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
My timer code:
% timer for plotting camera image
function CreateImageTimer(app)
app.timerImage = timer;
app.timerImage.StartDelay=1;
%app.timerImage.busymode='queue';
app.timerImage.ExecutionMode='fixedSpacing'; % 'fixedDelay'; %
app.timerImage.Period = 0.02;
app.timerImage.TimerFcn = @(~, ~)captureImage(app);
app.timerImage.StopFcn = @(~, ~)CleanUpImageTimer(app);
end % end function
function CleanUpImageTimer(app)
try
delete(app.timerImage)
catch
disp('error cleanup timer')
end
end % end fucntion
% timer for plotting camera image
function CreatePlotTimer(app)
app.timerPlot = timer;
app.timerPlot.StartDelay=2;
%app.timerPlot.busymode='queue';
app.timerPlot.ExecutionMode='fixedSpacing'; % 'fixedDelay'; %
app.timerPlot.Period = 0.1;
app.timerPlot.TimerFcn = @(~, ~)updateImageprofile(app);
app.timerPlot.StopFcn = @(~, ~)CleanUpImageTimer(app);
end % end function
  4 Comments

Sign in to comment.

Answers (1)

Jan
Jan on 27 May 2021
Incorrect dimensions for matrix multiplication. Check that the number of columns in
the first matrix matches the number of rows in the second matrix.
To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
The only matrix multiplcation I see is:
% function updateimageprofile(app,imagefile)
app.ProfileAxes_x.XTickLabel=[0:0.2:1].*XL*app.angularSize;
What is the value of app.angularSize ?
  2 Comments
Jan
Jan on 28 May 2021
You can simply insert an output to check the value of the variable before the failing line:
disp(app.angularSize)

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by