# MATLAB: Adding numbers to specific matrix index.

for loopindices

i want to fill in a 100×100 matrix using a nested for loop. However for each ’i’ row there will only be 3 ‘j’ columns with nonzero numbers. Also i want leave the first and last row all zeros. This is what ive tried before and its not working. what am i doing wrong?
A = zeros(100,100);h = 1;for i = 2:99;    for j = 2:99;        A(i, j+1) = ((1/h) + i);         A(i, j) = (-2/h);        A(i, j-1) = ((1/h) - i);    endend%so after one iteration i would have the values at the given indices% %A(2,3) = 3%A(2,2)=-2%A(2,1)=-1

#### Best Answer

• However for each ’i’ row there will only be 3 ‘j’ columns with nonzero numbers How do you determine which three columns of the ith row are non-zero? In your above example, for the second row, the first three elements are non-zero. Does this mean that in the third row, the 2-4 columns are non-zero? In which case you would do something like
A = zeros(100,100);h = 1;for i = 2:99;    A(i, i+1) = ((1/h) + i);     A(i, i) = (-2/h);    A(i, i-1) = ((1/h) - i);end
Or are you trying to do something else?