MATLAB: How to change the values in a matrix

for loopmatrixmatrix manipulation

I have created a for loop to create a matrix,
n = input("Enter number of rows for matrix ");
m = input("Enter number of columns for matrix ");
a = zeros(n:m);
x = n*m;
for i = 1:x
if i == 1
a(i) = 1;
elseif i > 1 && i < n
a(i) = 8;
elseif i == n
a(i) = 7;
elseif i == x
a(i) = 5;
elseif i == (x-(n-1))
a(i) = 3;
elseif i > (x-(n-1)) && i < x
a(i) = 4;
elseif i == x
a(i) = 5;
else
a(i) = 9;
end
end
The matrix created is
Enter number of rows for matrix 5
Enter number of columns for matrix 5
1 9 9 9 3
8 9 9 9 4
8 9 9 9 4
8 9 9 9 4
7 9 9 9 5
Now I wish to change the values of the first row to 2's excluding the first and last value in the row. If any body is able to help it will be greatly appriciated!
Thank you

Best Answer

One approach:
Before = [ 1 9 9 9 3
8 9 9 9 4
8 9 9 9 4
8 9 9 9 4
7 9 9 9 5]
After = Before;
After(1,2:end-1) = ones(size(Before(1,2:end-1)))*2
producing:
After =
1 2 2 2 3
8 9 9 9 4
8 9 9 9 4
8 9 9 9 4
7 9 9 9 5
Related Question