Error in function unreproducible in dugger.

I'm stumped and need some help.
I've the following simple statement:
pp = ([cc(1) Iinf.Width-cc(2)]) - floor([Iinf.Height/2 Iinf.Width/2]);
which subtracts two 1x2 matrices. When I execute this within a function, I get an error:
Error using - Matrix dimensions must agree.
But if I set 'dbstop on error', and then attempt to re-execute the line after the error and stop in the program, it executed cleanly. Or if I set a break point at that point, and then execute it by clicking 'step' it will fail, but if I select the line and R-click->evaluate, it executed cleanly. If I check the size of each matrix they both report 1x2. I can't figure out what's going on or how to debug it.

Risposte (2)

Put these lines before that line:
Iinf.Height
Iinf.Width
message = sprintf('Height = %f\nWidth = %f', Iinf.Height, Iinf.Width)
uiwait(helpdlg(message));
What do yo usee popup and what do you see in the command window?
Val Schmidt
Val Schmidt il 23 Ott 2015
I found the error. In another toolbox there is a function called cc.m, which was colliding with the variable defined as cc.
Changing the variable name fixed the problem.

Categorie

Scopri di più su Debugging and Improving Code in Centro assistenza e File Exchange

Prodotti

Tag

Richiesto:

il 23 Ott 2015

Risposto:

il 23 Ott 2015

Community Treasure Hunt

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

Start Hunting!

Translated by