# Replace values ​​in a matrix

8 views (last 30 days)
stelios loizidis on 4 Aug 2021
Hello. I have the following problem.
I have a matrix A with dimensions 1X72. I want in matrix B to have the mean per 24 values. That is, matrix B should be 1X3. Next, I want those values ​​in matrix A above 50 to be replaced by the mean. That is, any value in positions A (1:24) above 50 to be replaced by the mean found in B (1), any value in positions A (25:48) exceeding 50 to be replaced by the mean located in B (2) and any value in positions A (49:72) exceeds 50 to be replaced by the mean in B (3).
Rik on 4 Aug 2021
Since you seem to be prepared to hard-code the indices: can you think of a way to use my hint to solve your own question?

Matt J on 4 Aug 2021
A=reshape(A,[],3);
B=mean(A,1);
map=A>50;
A=reshape( A.*(~map)+B.*map , 1,[])
stelios loizidis on 4 Aug 2021
It works. Thank you for your help!!!

### Categories

Find more on Loops and Conditional Statements 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!

Translated by