MATLAB: Set object property in object method

classMATLABmatlab objects

I am looking for a way to set the value of a property in a class from withtin a method in that same class, but I am unable to find out how to do it. I have made a very simple example of what I want to do in the function updateObj below:
classdef myClass
properties
x
y
end
methods
function obj = myClass(xInit, yInit)
obj.x = xInit;
obj.y = yInit;
end
function updateObj(obj)
if obj.x==7
obj.y = 4;
end
end
end
end
I would like to be able to call the updateObj function using
myObj = myClass(0,0);
myObj.x = 7;
myObj.updateObj;
and then I want myObj.y to return 4, but it will return 0. I understand the reason for this, but I do not know how to change my updateObj function to get the desired result.

Best Answer

I found a solution to this, change the updateObj function to return obj like this
function obj = updateObj(obj)
...
end
and call it with
myObj = myObj.updateObj;