How to generate a nearly symmetric matrix?

3 views (last 30 days)
How to generate in Matlab a nearly symmetric Toeplitz matrix ?I just know how to construct symmetric or nonsymmetric,
but I do not know how to generate nearly symmetric.
  6 Comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 17 Feb 2021
Edited: KALYAN ACHARJYA on 17 Feb 2021
@Omar B. Is that 3x3 matrix is "nearly symmetric matrix"?
The given 3x3 matrix is symmetric matrix.

Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 17 Feb 2021
Just generate first a symettric matrix then perturb a "the overwhelming minority" of elements.
Whatever that definnition means.
>> T=randi(9,10,10);
>> T=randi(9,10,10);
>> S=T+T'
S =
4 13 4 9 10 10 11 9 12 16
13 2 12 18 8 9 9 13 4 11
4 12 2 9 12 17 4 12 10 13
9 18 9 6 7 11 12 7 7 6
10 8 12 7 8 6 4 3 9 8
10 9 17 11 6 10 6 11 6 5
11 9 4 12 4 6 18 15 10 6
9 13 12 7 3 11 15 14 12 10
12 4 10 7 9 6 10 12 16 9
16 11 13 6 8 5 6 10 9 16
>> S(randperm(numel(S),10))=randi(10,1,10)
S =
4 13 4 9 10 10 11 9 12 16
13 10 10 18 8 9 9 13 4 11
4 12 2 9 12 17 4 12 10 13
9 18 9 6 7 11 12 7 7 6
10 8 12 7 8 6 4 3 9 8
10 9 10 11 6 10 6 11 6 5
11 9 4 12 5 6 18 15 10 6
9 13 5 7 3 11 15 14 12 10
12 4 10 7 9 6 2 12 16 9
16 11 2 3 8 4 6 10 9 5

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!