Clear Filters
Clear Filters

How to fix this error 'Error using xor Matrix dimensions must agree'?

2 views (last 30 days)
Here is my code
  5 Comments
waffle
waffle on 29 Apr 2017
Edited: waffle on 29 Apr 2017
So what can I do to make the a9 size =215x550 same as a7?
Stephen23
Stephen23 on 29 Apr 2017
Edited: Stephen23 on 30 Apr 2017
"So what can I do to make the a9 size =215x550 same as a7?"
This is up to you (the designer of that code): you could take a submatrix, interpolate, pad, permute, or perhaps something else. It depends on your data and your algorithm, which you have told us nothing about.

Sign in to comment.

Answers (4)

Roger Stafford
Roger Stafford on 27 Apr 2017
Your a1 and a3 arrays would have different numbers of columns unless the ‘c’ value is exactly half of size(BW,2), so an ‘xor’ operation on them would be undefined:
a1=BW(:,1:c);
a2=BW(:,c+1:end);
.......
a3=fliplr(a2);
a4=xor(a1,a3);
  4 Comments
Roger Stafford
Roger Stafford on 30 Apr 2017
That isn’t the right question to ask. You should be asking what the difficulty is in your prior code that has caused a7 and a9 to be different in sizes at that point. That is what needs to be fixed and only you can do that because only you know what it is you are attempting to accomplish with your code.

Sign in to comment.


Jan
Jan on 19 Apr 2017
There are several xor commands in your code. The complete error message shows you, which command is failing. You could use the debugger also: Type this in the command window:
dbstop if error
Then run the code again. What Matlab stops at the error, you can inspect the sizes of the arguments. It is nearly impossible for the readers to fix your code, because you did not insert useful comments in the code. Then we have to guess the intention of the code and all information we have is the failing program. So it is up to you to find out, how to fix the problems.

Image Analyst
Image Analyst on 30 Apr 2017
I could fix your code if you had attached SSM33_orig.jpg. It's not running for a general demo image such as peppers.png and I don't get the error message you get because it doesn't get that far. I get this:
Expected one output from a curly brace or dot indexing expression, but there were 9 results.
Error in test2 (line 36)
c = stats.Centroid(:,1);
Please attach your image if you want people to run your code and help you fix it.
  8 Comments
waffle
waffle on 3 May 2017
ok tq.how can i find xCenter? what xCenter means and represent for?
Walter Roberson
Walter Roberson on 3 May 2017
xCenter = reg.Centroid(1,1) -- that is, it is the x coordinate of the centroid.

Sign in to comment.


Yasir Ghafoor
Yasir Ghafoor on 13 Nov 2017

Tags

Community Treasure Hunt

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

Start Hunting!