Matlab 如何从另一个m文件访问m文件的矩阵?

Matlab 如何从另一个m文件访问m文件的矩阵?,matlab,Matlab,假设矩阵是在m文件new1.m中的A。现在我想访问这个矩阵到另一个m文件new2.m。怎么做呢?你的问题有点不具体,但我会尽力回答。 有几种方法可以做到这一点 假设您有一个名为“new1”的m文件(脚本),其中包含(例如)a=rand(4)。你可以在使用新的2.m之前运行它 new1; B = 2*A; 请注意,new1将返回其中指定的所有其他变量,从而淹没您的工作区。也许不是问题,但如果是的话,你可以用 清除var1 var2 var2等 另一种方法是将new1变成一个函数并(仅)返回一个

假设矩阵是在m文件new1.m中的A。现在我想访问这个矩阵到另一个m文件new2.m。怎么做呢?

你的问题有点不具体,但我会尽力回答。 有几种方法可以做到这一点

假设您有一个名为“new1”的m文件(脚本),其中包含(例如)
a=rand(4)
。你可以在使用新的2.m之前运行它

new1;
B = 2*A;
请注意,new1将返回其中指定的所有其他变量,从而淹没您的工作区。也许不是问题,但如果是的话,你可以用
清除var1 var2 var2

另一种方法是将new1变成一个函数并(仅)返回一个

但我猜这可能会破坏new1的其他用途。 在这种情况下,仅当使用特殊输入参数(例如“getA”)调用函数时,才能返回

从new2开始,只需调用函数

new1('getA');

很难说没有看到真正的代码。您是否已尝试将矩阵保存为
.mat
文件,并将其加载到另一个
m
文件中?在文件
new2.m
中使用
run('new1.m')
?@David,感谢您的回复,但我不想创建mat文件,只想在new1.m中创建一个矩阵,以便可以在new2.m中进一步访问该矩阵。
function new1(varargin)
...
... % some code
...
if nargin && strcmp(varargin{1},'getA')
   assignin('caller','A',A);
end
new1('getA');