matlab怎么在一个m文件中写多个函数?

 我来答
欧阳宇轩yk3wR
2018-03-31 · TA获得超过1.4万个赞
知道小有建树答主
回答量:111
采纳率:100%
帮助的人:4万
展开全部

一个m文件中定义了多个函数的话,这些函数只能在这个m文件中的函数中调用。

function 函数名

函数内容

end

function 函数名1

函数内容

end

matlab中如何定义函数

  • 首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:

    function [输出变量] = 函数名称(输入变量)

    % 注释

    % 函数体

    end

  • 编写代码如下并保存文件,注意文件命名时不能以数字开头:

    function [s]  = eg_sum( n )

    % calculate the sum of 1..n

    s = 0;

    for i = 1:n

    s = s + i;

    end

  • 回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:

    >> clear

    >> a = eg_sum(10)

    运行结果: a = 55

  • 函数名可以与函数文件名不一致,只要知道调用函数时是通过函数文件名调用的这点即可!如下图所示,即使文件名仍然是eg_sum,但我可以修改函数名为:my_sum 调用时用文件名调用就好,如下所示:

    >> b = eg_sum(10)

    运行结果: b = 55

tianxiawulang
推荐于2017-12-15 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2607万
展开全部
在一个m文件中写多个函数,每个函数都以function开始,结束可以带end,也可以不带(这种情况下,出现另一个function或者到达文件结尾表明前一个function结束)。

第一个函数作为主函数,可以从该m文件外部调用,其它函数都是局部函数,只能被m文件中的函数调用。主函数命名最好和m文件名相同,如果不同,则调用时应该使用m文件名(不带扩展名)。
追问
也就是说,matlab,没有可能像cpp一样,include 一下然后可能调用一串函数的做法。
追答
C/C++中include只是添加函数的声明,让程序知道有那些函数可用。
MATLAB中不需要声明,只要你的函数文件在当前文件夹或者在搜索路径(path)中,就可以直接调用。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狮子座零
2021-03-26 · TA获得超过5227个赞
知道大有可为答主
回答量:1848
采纳率:91%
帮助的人:41.6万
展开全部
平常我们在matlab中自行编写一个函数,编译器规定函数名和文件名必须一致,这样如果我们需要定义多个函数,就需要编写多个.m文件,数量一多容易混淆。

为了实行MATLAB 在同一个m文件中写多个独立的功能函数,从而实现在外部可以直接调用这个文件中的某一个函数的功能,我们需要有一个统一的接口来涵盖这些函数。

假设在函数文件Funcollect.m 内定义一个接口,通过匿名函数调用 (不支持matlab所以就放图片了)
本人是新手,想在一个M文件中撰写很多个独立的函数,然后在使用的时候可以直接调用。
我用过VC++,一般都是建一个文件类,将很多个独立的函数写在一个类文件中,然后调用该类的某个函数的时候,添加类的名称.函数名就可以调用了。
不知道Matlab是否也可以这么做那?请高手出来指导一下
非常感谢超版的解答。问题是这样子的:
我要撰写的函数数量有点庞大,我想借鉴VC++中类的模式来撰写函数,这样子我在调用的时候可以区分开这个函数是属于哪个类的子函数。
另外,同一个函数名,有几种算法来实现,而且这些算法出自不同的标准,其方法及结果是有差异的。我想用类来区分这个函数是出自哪个标准的。我在VC++中使用类就可以很方便来实现。还可以将这个类封装一下。
现在专用Matlab来撰写这些函数,故而提出这个问题。
还有,我在论坛上看到MATLAB已经支持类来封装大量的函数,不知道哪位对此方法比较精通?给指点一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
子北亭
2012-12-23
知道答主
回答量:7
采纳率:0%
帮助的人:3.5万
展开全部
好像只能定义一个,我试了多个都是不行的。除非嵌套使用。matlab每个被调用的文件必须与文件名同名,否则需要使用文件名而非函数名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东方邩狐
2012-11-08
知道答主
回答量:43
采纳率:0%
帮助的人:21.7万
展开全部
只能有一个主函数,其他子函数可以有很多歌
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式