Function Changem or substitute values of a matrix

21 Ansichten (letzte 30 Tage)
MSP
MSP am 18 Mai 2018
Kommentiert: MSP am 19 Mai 2018
Hello!
I am trying to use the function "changem" to substitute values from a matrix..(reference page: https://de.mathworks.com/help/map/ref/changem.html) 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

Akzeptierte Antwort

Guillaume
Guillaume am 18 Mai 2018
Bearbeitet: Guillaume am 18 Mai 2018
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));
end
  1 Kommentar
MSP
MSP am 19 Mai 2018
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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

sloppydisk
sloppydisk am 18 Mai 2018
changem is part of the Mapping toolbox, type
ver
to see which toolboxes you have installed.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by