-2

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

xyz(filename);

在 xyz.m 文件中:

xyz(filename);
4

2 回答 2

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
于 2013-03-16T10:20:42.090 回答
0

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

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

function xyz(filename)
    %code goes here
end

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

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

于 2013-03-17T03:39:06.660 回答