如何在一个m文件中多个函数或子程序

40视图(30天)
我工作在一个项目的类和教授要求我们使用功能评估某些事情(使用二分和割线法),但他也要求我们只在一个单一的m文件。通常我会创建独立的文件,然后调用它们的功能的主要代码,但是他不希望这样。他坚持说有一种方法可以做多个“子程序”(他的措辞,尽管我没听说过,当我查这似乎是一样的一个函数。主要问题是如果我试着把一个函数主要项目代码命名project1。m说函数(平分)是不一样的文件名,这就是为什么我一直在做他们是分开的。我有了在这些论坛和我见过的方法似乎没有多大意义。生病把缩短版本的代码,它并不重要,因为他们的勇气跑好。总的来说,我需要一种方法来有两个功能或“子程序”在一个m文件,并能够调用它们。主要问题是让他们在同一个文件中并使用它们都在相同的脚本。
函数[p,我]=平分(f, a, b, tol n0)
%为评价函数的代码
结束
[p,我]=平分(f, a, b, tol n0);
disp (p);
disp(我);
1评论
Stephen23
Stephen23 2021年8月25日
编辑:Stephen23 2021年8月25日
”他坚称有办法多个“子程序”(他的措辞,尽管我没听说过,当我查这似乎是一样的一个函数。”
他们被称为 本地函数 :
“主要的问题是如果我试着把一个函数主要项目代码命名project1。m说函数(平分)是不一样的文件名,这就是为什么我一直在做他们是分开的。”
如果你是在脚本中定义函数,那么所有的函数定义必须出现在所有的脚本代码。
这是MATLAB文档中解释道:

登录置评。

答案(1)

大卫Goodmanson
大卫Goodmanson 2021年8月25日
你好,科林
这是一个简单的例子。函数必须在最后的脚本,和每个函数必须有一个结束的最后声明描绘下一个函数。
r = 1;
s = 2;
u = 0: .01:6;
x = afun (r u);
y = bfun (s, u);
图(1)
情节(x, y)
网格
函数x = afun (r, u)
x = r * cos (u);
结束
函数y = bfun (u),
y = s * sin (u);
结束
2的评论
大卫Goodmanson
大卫Goodmanson 2022年7月19日
嗨,沃里克,谢谢你的评论。很高兴知道答案是有用的。

登录置评。

类别

找到更多的在输入命令帮助中心文件交换

下载188bet金宝搏


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!