Help Writing One's Own Functions

Writing a function in MATLAB was clear enough, but I ran into a little issue I want to correct. When I wrote functions in the past, I was doing them to test a program. The newest function I wrote actually computes something within a program - and it works. The issue I have is calling the function.
With a built-in MATLAB function, say isnan, in the command prompt I can write
M = isnan(A)
for some array A. Then immediately M will be the result of the operation isnan(A).
When I wrote a function, let us call it modify. When I try
M = modify(A)
in the command prompt, I am given the following error
Error using modify
Too many output arguments.
I don't do anything at the end of my function. It ends with a loop. How can I modify my function so that I can assign to it any variable name? I want to be able to perform the same variable assignment on my function as 'M = isnan(A)' above.

 Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 10 Jun 2019
I have tried with similar, I have no issue
i1.png
If I misundestood the question, please clarify?

3 Comments

The important point being that as has been done here, in the function header, you see the variable M being returned as written by Kalyan. So M is created inside the function.
Now, when you use it use it like this:
Y = modify(A);
You can stuff the result into any variable.
BM
BM on 10 Jun 2019
Edited: BM on 10 Jun 2019
Hi Kalyan,
Yes, this works. My mistake was that I defined my function as
function modify(A)
rather than
function G = modify(A)
This solves the issue completely!
Out of everything to make a mistake on, I do it only on the simplest part!
@John Thanks

Sign in to comment.

More Answers (0)

Products

Release

R2019a

Community Treasure Hunt

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

Start Hunting!