How i can generate 2D matrix with unique values using 2D or 1D logistic map ?

조회 수: 3 (최근 30일)
Radhwan Jawad
Radhwan Jawad 2023년 3월 14일
답변: Kush 2023년 6월 7일
Hello Matlab community
I want to generate (n*n) matrix with unique values for each row and each column and the range of values in each cell must be between 0 and n-1 using 2D or 1D logistic map.
for example, if the size of matrix is 4*4 the output must be as below:
0 3 2 1
1 2 0 3
3 0 1 2
2 1 3 0
and i want this output is fixed for each run.

답변 (1개)

Kush
Kush 2023년 6월 7일
A simple solution to this could be creating an array of size n with values ranging from 0 to n-1, followed by appending this array after circular shifting into a matrix, this allows each element to be unique in its row as well as its column.
n = 4;
arr = 0:n-1;
matrix = zeros(n,n);
for i = 1:n
matrix(i,:) = circshift(arr,i);
end
matrix
matrix = 4×4
3 0 1 2 2 3 0 1 1 2 3 0 0 1 2 3
please find the documentation for circshift here:

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by