Unrecognised function in MATLAB

8 次查看(过去 30 天)
Vedeesh Bali
Vedeesh Bali 2020-10-3
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 个评论
Vedeesh Bali
Vedeesh Bali 2020-10-3
I saved it as a file, but the output did not change :(
Steven Lord
Steven Lord 2020-10-3
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.

请先登录,再进行评论。

回答(1 个)

Priysha LNU
Priysha LNU 2020-10-6
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.

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by