Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
Subscript indices must either be real positive integers error? Can't figure out why
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I am trying to analyze a BW image,
[l w]=size(S4);
for i=1:w
y=(Y(1)+((Slope)*(i)));
h(i)=sum(S4(i,[0:y]));
end
Does anyone know what is wrong with my code? S4 is a 780x4608 matrix, Slope is an integer,
Risposte (2)
Moe_2015
il 14 Giu 2016
Modificato: Moe_2015
il 14 Giu 2016
It is because of this line:
h(i)=sum(S4(i,[0:y]));
You cannot access column 0 of a matrix in MATLAB. MATLAB indices start from 1.
2 Commenti
Moe_2015
il 14 Giu 2016
Modificato: Moe_2015
il 14 Giu 2016
One thing I see right off the bat is you define i=1:w (so this is 1:4608). However in:
h(i)=sum(S4(i,[0:y]));
You are using i to loop through the rows of S4. S4 only has 780 rows not 4608 (the number of columns). I don't know what you are trying to accomplish here but you need to put i in your column index if you want the dimension to not error out. Alternatively, maybe what you want to do is define i=1:l. Again, I don't know what you are trying to accomplish here so try either one based on what you need.
Also, take a look at what Adam commented on your question. I don't know the values of Y(1) or Slope*i but that may also cause problems getting a value of y that is greater than the number of columns you have in S4. However, I do not know for sure and maybe your numbers work out but in any case, the way you have the code set up, "i" is causing the problem above.
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!