2013-05-05 95 views
2

我知道这是一个简单的问题,但由于某种原因,我无法找到一个直接的答案,无论我在哪里看起来都有效。如何在MATLAB中调用另一个m文件中的m文件并检索输出?

基本上,我有一个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档。

任何意见,我做错了将不胜感激!请和谢谢

回答

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中。

相关问题