Calling a Function From Another Function
Show older comments
I created a function called table(data) which returns a matrix with labels from the data. I would like to try and create another function which can use table(data). The reason I would like to learn this is because if I create a new function it will have to be by using just data again. I would like to use the new created data in future functions and scripts.
This is what I though I would work which it didn't.
function []=food(table(data))
However, that doesn't work because it returns unbalanced or unexpected parenthesis or bracket.
5 Comments
Stephen23
on 8 Dec 2017
"However, that doesn't work because it returns unbalanced or unexpected parenthesis or bracket."
No, that is just the error message. That doesn't work because you invented some syntax that is not permitted by MATLAB. Try doing the introductory tutorials, which explain how to call functions correctly:
MATLAB has very easy to read documentation which is easy to search using your favorite internet search engine: you obviously did not read anything about how to define functions or call functions, because the syntax that you invented is not shown anywhere in the MATLAB documentation.
Note that learning any programming language by guessing is very inefficient and will just waste your time.
Rafael
on 8 Dec 2017
Greg
on 8 Dec 2017
@Rafael, sadly, you aren't wrong.
per isakson
on 8 Dec 2017
The statement "I created a function called table(data) which returns a matrix" confuses me.
T = table( data );
returns a table object, not a matrix. Thus I assumed that you had used the name table for your own function.
"I read that page, although it doesn't show me what I want to learn. Is not even including ''functions'' in their tutorial."
This is the first page returned when I searched for "MATLAB functions":
It took me 0.5 seconds to locate.
Answers (1)
per isakson
on 8 Dec 2017
Edited: per isakson
on 8 Dec 2017
M = table_1( data );
food( M );
or
food( table_1( M ) );
The two line construct is easier to debug
where
function food( m )
% m is a numerical matrix
...
end
8 Comments
Rafael
on 8 Dec 2017
per isakson
on 8 Dec 2017
Edited: per isakson
on 8 Dec 2017
table is just another data type - the syntax is the same. I edited my answer accordingly.
Rafael
on 8 Dec 2017
per isakson
on 8 Dec 2017
What do you mean by the word "table"?
Rafael
on 8 Dec 2017
@Rafael: do not use table as the name of your function. It shadows the inbuilt function table, and confuses everyone because they think that you are talking about the table data type.
TIP: before using any function/variable name you should check if it is already used by calling which with that name.
Rafael
on 8 Dec 2017
per isakson
on 8 Dec 2017
I changed my answer back to the original one, which shows the syntax you are asking for.
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!