如何从MATLAB中的另一个m文件调用m文件并检索输出?

时间:2013-05-05 07:51:12

标签: file matlab function

我知道这是一个简单的问题,但出于某种原因,无论我在哪里,我找不到直接的答案。

基本上,我在一个m文件中找到了4个值,我想通过一个单独的m文件运行它们并从中检索输出。

我尝试过类似的东西,但都没有效果:

result = generate(nrow,ncol,a,b);
function result = generate(nrow,ncol,a,b);
result = @generate(nrow,ncol,a,b);

m文件“generate”中的最终值称为result,我正试图将其传递到我的初始m文件。

对于我做错的任何建议都将不胜感激!拜托,谢谢

1 个答案:

答案 0 :(得分:6)

  1. 如果您的文件generate.m定义了一个函数,它应该具有以下结构(考虑到您有四个返回值的事实)

    function [ret1 ret2 ret3 ret4] = generate(nrow,ncol,a,b)
    
          ....             % # Some processing of yours
    
          ret1 = ... ;     % # Returned values are eventually set
          ret2 = ... ;
          ret3 = ... ;
          ret4 = ... ;
    end
    
  2. 应该调用该函数(例如在 main 脚本中)

    [ret1 ret2 ret3 ret4] = generate(nrow,ncol,a,b);
    

    现在您在调用者范围内可以使用变量ret1,ret2,ret3,ret4

    请注意,文件generate.m必须位于当前的matlab PATH中。