how do I call a member function in another member function in the same class in matlab ??

215 views (last 30 days)
Derrick Gao
Derrick Gao on 14 Aug 2018
Answered: Eric on 28 Aug 2018
these two functions are both in the same methods of a class. Thank you so much!!!
  1 Comment
Rik
Rik on 14 Aug 2018
This looks very connected to your previous question.
I have hardly ever worked with classes, but aren't methods treating each other as local functions? That would mean you can just call it.

Sign in to comment.

Answers (1)

Eric
Eric on 28 Aug 2018
There are two ways to call another method function from the same class.
First, you can use a dot/period to access the method from the class variable. Second, you can simply call the function and pass the class object as an argument.
Using MATLAB's Create a Simple Class Example as a basis, I've added the doBoth function below to illustrate both of these options.
classdef BasicClass
properties
Value
end
methods
function r = roundOff(obj)
r = round([obj.Value],2);
end
function r = multiplyBy(obj,n)
r = [obj.Value] * n;
end
function d = doBoth(obj,k)
d = [obj.multiplyBy(k), roundOff(obj)];
end
end
end

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!