Azzera filtri
Azzera filtri

Error in function unreproducible in dugger.

2 visualizzazioni (ultimi 30 giorni)
Val Schmidt
Val Schmidt il 23 Ott 2015
Risposto: Val Schmidt il 23 Ott 2015
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)

Image Analyst
Image Analyst il 23 Ott 2015
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 Analysis in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by