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
Bob Thompson
Bob Thompson on 13 Apr 2018
What do you mean by "vary gradually with respect to the values in Y"? What kind of variance are you looking for? It is entirely possible to adjust the values of A with respect to the new values from Y, but the how is dependent on the type of variance you're looking to perform.
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)

Categories

Find more on Get Started with MATLAB 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!