Creating a matrix having repeating elements

1 Ansicht (letzte 30 Tage)
Rengin
Rengin am 4 Sep. 2019
Kommentiert: Rengin am 4 Sep. 2019
% Dear users,
% Assume that I have a A matrix having the size of 5x5 and in the end;
% I want to get A=[1 -1 0 0 0; 1 -1 0 0 0; 0 1 -1 0 0; 0 1 -1 0 0; 0 0 1 -1 0]
% What is the easiest way to do it?
% Thanks in advance
  6 Kommentare
Bruno Luong
Bruno Luong am 4 Sep. 2019
OK here is different and still simple:
A=[1 -1 0 0 0; 1 -1 0 0 0; 0 1 -1 0 0; 0 1 -1 0 0; 0 0 1 -1 0]+0
The point is your question is not well formulated
Rengin
Rengin am 4 Sep. 2019
Thanks but I was still be able to get my answer. It works perfectly fine.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 4 Sep. 2019
Bearbeitet: Andrei Bobrov am 4 Sep. 2019
A = kron(eye(5),[1;1])+kron(diag(-ones(4,1),1),[1;1]);
out = A(1:5,:);
or
n = 1:5;
A = repmat([1,-1,0,0,0],5,1);
out = A(mod(repmat(n,5,1) - ceil(n(:)/2),5)*5 + n(:));
  2 Kommentare
madhan ravi
madhan ravi am 4 Sep. 2019
You always impress without a doubt , a +1 from me.
Andrei Bobrov
Andrei Bobrov am 4 Sep. 2019
Thank you Madhan!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by