How to change the values in a matrix

3 Ansichten (letzte 30 Tage)
Cameron Lissarrague
Cameron Lissarrague am 18 Feb. 2020
Beantwortet: Star Strider am 18 Feb. 2020
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

Akzeptierte Antwort

Star Strider
Star Strider am 18 Feb. 2020
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

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by