How to alter nearby values in a matrix with respect to a column?

1 view (last 30 days)
Hi, I have a 2D matrix A(1:100,1:100), and I replaced one of its column (A(1:100,50)) with another column vector Y(1:100,1). Now I want the nearby columns in A to vary gradually with respect to the values in Y. Is it possible to do this in matlab? Thanks.
  2 Comments
Hems
Hems on 13 Apr 2018
Thanks for your answer. After I replaced a column of my matrix, I can see an abrupt change in the values on either side of the replaced column, when I plot it as an image. For my purpose it doesn't matter what type of variance it is, as long as there is no abrupt change in the 2D image. Thanks.

Sign in to comment.

Accepted Answer

Jan
Jan on 13 Apr 2018
A = rand(10, 10); % smaller test data
A(:, 5) = 10 * rand(10, 1);
A(:, 4) = (A(:, 5) + A(:, 4)) / 2;
A(:, 6) = (A(:, 5) + A(:, 6)) / 2;
A(:, 3) = (A(:, 5) + 2 * A(:, 3)) / 3;
A(:, 7) = (A(:, 5) + 2 * A(:, 7)) / 3;
Now the direct neighbors contain the mean between the inserted column and the original data, while the 2nd neighbors contain the weighted mean.
There is an infinite number of other ways for a gradual variation. So please explain, what you exactly need.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!