MATLAB Answers

How can I call a function inside a class in the command window?

15 views (last 30 days)
Jay
Jay on 4 Apr 2020
Answered: SaiDileep Kola on 9 Apr 2020
I'm new to matlab and I want to call a function contained inside a class in the comand window to run it. The method is not static. How can I do it? Also is there a simpler way to run the function? Also what is obj?
classdef my_class
properties
param
end
methods
function [x,y] = my_function(obj,a,b)
....
end
end
end

  3 Comments

Tommy
Tommy on 4 Apr 2020
You can create an instance of my_class,
A = my_class
and then call any public methods of my_class through that instance, such as
A.my_function(a,b)
I only passed two argument into my_function because the first argument (obj) is always the instance of the class, in this case A. It is similar to 'this' in Java or 'self' in Python. You don't have to call it obj - you could define your function as
function [x,y] = my_function(this,a,b)
....
end
if you wanted.
Jay
Jay on 5 Apr 2020
What if the code is like that? The input argument "value" is a .txt file.
classdef my_class
properties
prop
end
methods
function [output,value] = my_function (obj,input,value)
prop1 = obj.prop(1);
prop2 = obj.prop(2);
prop3 = obj.prop(3);
in1 = input(1);
in2 = input(2);
in3 = input(3);
end
end
end
Ameer Hamza
Ameer Hamza on 5 Apr 2020
Jay, is the value name of the .txt file (a char array)? You can still call any public method of a class using the syntax described by Tommy.

Sign in to comment.

Answers (1)

SaiDileep Kola
SaiDileep Kola on 9 Apr 2020
In addition to above going through this linkwould help you ramp up using classes in MATLAB.

  0 Comments

Sign in to comment.


Translated by