2

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

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

我尝试了类似的方法,但都没有奏效:

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

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

任何关于我做错了什么的建议将不胜感激!谢谢,麻烦您了

4

1 回答 1

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. 该函数应该被调用(例如在你的脚本中)为

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

    现在您ret1,ret2,ret3,ret4在调用者范围内有了可用的变量。

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

于 2013-05-05T07:56:55.860 回答