Can't add matrix with same dimension, pulls error...

so far, i have this code
function polamodel=meanmodel(pola)
[lod,hid] = wavefilter('jpeg9.7','d');
pass=1;
[cc,sc]=wavedec2(pola{1}{2}{1},pass,lod,hid);
s=size(cc);
for i=1:62
sum=zeros(1,s(2));
for j=1:30
[c,s]=wavedec2(pola{i}{2}{j},pass,lod,hid);
sum=sum+c;
end
pola{i}{3}=sum ./30;
end
polamodel=pola;
end
but then i have this error :
??? Error using ==> plus
Matrix dimensions must agree.
Error in ==> meanmodel at 15
sum=sum+c;
Error in ==> main at 52
pola=meanmodel(pola);
that telling me the line sum=sum+c have an error in it. It's very weird because I'm very sure variable c and sum have a same dimension (I tried to figure it out with size(c) and size(sum)). I assume the error comes with variable c.
Anybody have an idea???

Answers (2)

Use the debugger. Execute in the command window
dbstop if error
and run your function
polamodel=meanmodel(pola);
Matlab will stop at line 15. Inspect the values of the variables i, j, c.
There are buttons in the toolbar to operate the debugger.
Return here if you don't find the reason for the error.
PS. I'm not so sure!
People who use "sum" as the name of a variable always run into code problems when they do so.

Categories

Find more on Debugging and Improving Code in Help Center and File Exchange

Products

Asked:

on 3 Jan 2013

Community Treasure Hunt

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

Start Hunting!