Unrecognised function in MATLAB

function [m,s] = stat(x)
n = length(x);
m = sum(x)/n;
s = sqrt(sum((x-m).^2/n));
end
>> values = [12.7, 45.4, 98.9, 26.6, 53.1];
[ave,stdev] = stat(values)
Unrecognized function or variable 'stat'.
Could anyone tell me what's wrong with this? It is literally MATLAB's 'function with multiple outputs' example.

3 commentaires

"Could anyone tell me what's wrong with this?"
Nothing at all is wrong with stat: when I save it in the current directory as a file named stat.m it works perfectly:
>> values = [12.7, 45.4, 98.9, 26.6, 53.1];
>> [ave,stdev] = stat(values)
ave = 47.340
stdev = 29.412
Possibly you did nto save the code as a function, or did not save it on the MATLAB Search Path or current directory. But as you did not explain how and where you saved it, we can only guess.
Vedeesh Bali
Vedeesh Bali le 3 Oct 2020
I saved it as a file, but the output did not change :(
Steven Lord
Steven Lord le 3 Oct 2020
You saved it as a file, but I'm guessing that file was not named stat.m. See the first Note on this documentation page. If you define a function stat inside a file slow.m then you will need to call the function using the name slow not the name stat.

Connectez-vous pour commenter.

Réponses (1)

Priysha LNU
Priysha LNU le 6 Oct 2020

0 votes

Here is an excerpt from "create functions in files" documentation :
Often, you store a function in its own file. In that case, the best practice is to use the same name for the function and the file (in this example, fact.m), since MATLAB® associates the program with the file name. Save the file either in the current folder or in a folder on the MATLAB search path.
Saving the code to a file named "stat.m" might help you resolve this error.
DISCLAIMER: These are my own views and in no way depict those of MathWorks.

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by