我想将我的文件名从abc.m文件传递给xyz.m文件......没有任何回复。 请告诉我要在两个文件中写入的语法。我试过这样的事情: 在abc.m文件中:
xyz(filename);
在xyz.m文件中:
xyz(filename);
答案 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,如果这是你想要做的,虽然可以从任何函数访问一个打开的文件(我还没有真正测试过)。