change numbering inside cell

1 visualizzazione (ultimi 30 giorni)
NA
NA il 2 Ott 2019
Risposto: Akira Agata il 2 Ott 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]};

Risposta accettata

Akira Agata
Akira Agata il 2 Ott 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);

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by