MATLAB Answers


Function Changem or substitute values of a matrix

Asked by MSP
on 18 May 2018 at 11:11
Latest activity Commented on by MSP
on 19 May 2018 at 15:53


I am trying to use the function "changem" to substitute values from a matrix..(reference page: I am using matlab 2017a but when I use the function, matlab says that the function is undefined.. I cannot find results when I search for it in the DOC.

Does this function still exists? When no, is there a equivalent function? Or does someone knows a possibility to change values of a matrix (is a little bit complex because I want to change the values of the matrix by an equivalent value of a vector).

Thanks in advance, MP


Sign in to comment.

2 Answers

Answer by Guillaume
on 18 May 2018 at 12:02
Edited by Guillaume
on 18 May 2018 at 12:03
 Accepted Answer

As per sloppydisk's answer, changem requires the mapping toolbox, so clearly you don't have that installed.

I don't have the mapping toolbox either, but reading the function documentation, it seems trivial to implement:

function mapout = my_changem(mapout, newcode, oldcode)
   assert(numel(newcode) == numel(oldcode), 'newcode and oldecode must have the same number of elements');
   [toreplace, bywhat] = ismember(mapout, oldcode);
   mapout(toreplace) = newcode(bywhat(toreplace));

  1 Comment

Thanks, works perfectly. After playing around sometime I did to manage it using 2 for loops and using if loops to check the constrains. But thanks again for the answer!

Sign in to comment.

Answer by sloppydisk
on 18 May 2018 at 11:19

changem is part of the Mapping toolbox, type


to see which toolboxes you have installed.


Sign in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today