在matlab中调用函数

时间:2013-03-16 10:01:02

标签: matlab

我想将我的文件名从abc.m文件传递给xyz.m文件......没有任何回复。 请告诉我要在两个文件中写入的语法。我试过这样的事情: 在abc.m文件中:

xyz(filename);

在xyz.m文件中:

xyz(filename);

2 个答案:

答案 0 :(得分:1)

MATLAB函数定义如下:

function y = MyAddFunction(x, n)
   y = x + n;
end

并像往常一样调用:

foo = MyAddFunction(10, 5);

如果您想要多个输出值,可以按如下方式定义输出:

function [y1 y2] = MyOtherFunction(x)
   y1 = x + 3;
   y2 = y1 + 5;
end

答案 1 :(得分:0)

如果我理解正确,你问的是,你如何在xyz.m中编写函数,使它没有返回值,并将对你从函数中传递它的文件名进行操作abc.m。

如果这是正确的,那么答案很简单,你根本就没有返回变量来定义函数xyz,如下所示:

function xyz(filename)
    %code goes here
end

然后,在abc.m中,只需将其称为xyz(filename)。只要两个m文件都在适当的位置,以便matlab可以看到它们,它就会起作用。

文件名应该是一个字符串。我不相信你可以传递来自fopen的文件ID,如果这是你想要做的,虽然可以从任何函数访问一个打开的文件(我还没有真正测试过)。