change numbering inside cell

1 visualización (últimos 30 días)
NA
NA el 2 de Oct. de 2019
Respondida: Akira Agata el 2 de Oct. de 2019
I have
B=[1,1;2,2;3,40;4,10;5,15;6,19;7,22];
c={[1,10,15],[15,19,22],[1,2,40]};
Matrix B shows that 4 is correspond to10 or 7 correspond to 22 or 3 correspond to 40 .
So I want to change c according to second column of B
result should be
c_new={[1,4,5],[5,6,7],[1,2,3]};

Respuesta aceptada

Akira Agata
Akira Agata el 2 de Oct. de 2019
Solution 1:
c_new = cell(size(c));
for kk = 1:numel(c)
c_new{kk} = interp1(B(:,2),B(:,1),c{kk});
end
Solution 2:
% "Solution 1" in 1 line
c_new = cellfun(@(x) interp1(B(:,2),B(:,1),x),c,'UniformOutput',false);

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by