# Replacing elements in a matrix with Scalers

1 view (last 30 days)
Jalashwa on 17 May 2015
Commented: Image Analyst on 17 May 2015
Hi Guys,
Need your quick help regarding an assignment question. The question is as follows:
The function differ is defined like this:
function w = differ(v,a,b,c)
The first input argument v is a vector, while a, b, and c are all scalars. The function replaces every element of v that is equal to a with b and c. For example, the command
>> x = differ([1 2 3],2,4,5);
makes x equal to [1 4 5 3]. If c is omitted, it replaces occurrences of a with two copies of b. If b is also omitted, it replaces each a with two zeros.

Show 1 older comment
Jalashwa on 17 May 2015
Geoff, i tried different scenarios as to how can i get to bottom of the question but to know avail. I have tried going by the flow of the question but have got nowhere close
Geoff Hayes on 17 May 2015
Jalashwa - since you have tried out different scenarios, then you must have written some code. Please post it and the MATLAB community can respond with suggestions on how best to go about solving the problem.
Jan on 17 May 2015
@Jalashwa: Please post what you have tried so far and ask a specific question. The forum will not solve your homework.

Image Analyst on 17 May 2015
Here's some help : http://www.mathworks.com/matlabcentral/answers/8626-how-do-i-get-help-on-homework-questions-on-matlab-answers Other than that I suggest you look up find() in the help, and look up isempty(), the "if statement", and logical comparisons like "==" if you need to review them. Also look up indexing so you'll know what expressions like v(1:n) and v(m:end) mean. After you've written some code, if you still need help with error messages then read this first and look at this and if you still have trouble, come back here.

Image Analyst on 17 May 2015
Another hint: many MATLABers would use strrep() for this - it's perhaps a little known trick that it works for integer arrays as well as strings.
Jalashwa on 17 May 2015
Image Analyst, i am just a beginner and this Assignment is really important. I am trying again with the hint you have given me. May i request you to give me some more clarity please....
Image Analyst on 17 May 2015
Here's a little bit more
function w = differ(v,a,b,c) % What your teacher gave you already.
w=strrep(v, a, [b,c]); % Trick I told you about
You can use nargin and vargin to handle situations where b and/or c are not present. Look those up in the help. I can't really help anymore without basically doing the whole thing for you.

Walter Roberson on 17 May 2015
To detect whether an argument is present or not, look at exists()