MATLAB: How to solve matrix dimension must agree error in the following program.

matrix dimension must agree

d = 100;
r = mod(a,b);
for a = 2:1:d
c = 0;
for b = 1:1:a
if r == 0
c = c+1;
end
end
if c == 2
fprintf('value of a = %d',b,c,d)
end
end

Best Answer

Hi, according to what you stated in the comment there are a few mistakes i would like to points out
1. when b=1:1:a you only limit the value of b to be equal to [1,2] as it considers a to be a(1)
2. mod(a,b) requires the size of a and b to be the same which is clearly not since a has a size of 99 while b has only 2 elelments
Guessing from the code it seems like you are trying to write a code for generating prime numbers. Then I feel this is what you are looking for
d = 100;
a = 2:1:d ;
c = 0 ;
for a = 2:1:d
c = 0;
for b = 1:1:a
r = mod(a,b);
if r == 0
c = c+1;
end
end
if c == 2
disp(['The value of a is = ',num2str(b)]);
end
end