【问题标题】:creating function using matlab使用matlab创建函数
【发布时间】:2010-08-05 07:48:28
【问题描述】:

我写了以下函数

% e is n×1 and y is n×1 vectors
function z=e_rand(e,y)
         b_LS=regress(e,y)
         z=b_LS*5

我将函数保存在 MATLAB 工具箱中。 但是,当我 运行 函数时,我收到以下错误: 输入参数“e”未定义

如何正确创建函数?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您不运行函数。您在表达式中使用它。你在命令行调用你的函数。但是你不要在函数上使用 run 命令。运行仅适用于脚本,不适用于函数。

    在命令行中,只需键入:

    z = e_rand(e,y);
    

    【讨论】:

      【解决方案2】:

      如果你想保留你的函数,并将你的函数封装在另一个函数中,那么你需要在父函数中给出 e 和 y 值。

      试试这个:

          function parent()
          clear all, close all
          n = randi(10, 1)
          e = rand(n, 1)
          y = rand(n, 1)
          z = e_rand(e, y)
      
              % e is [n×1] and y is [n×1] vectors
              function z = e_rand(e, y)
                       b_LS = regress(e, y)
                       z = b_LS * 5
              end
          end
      

      引用作品:http://www.mathworks.com/help/matlab/matlab_prog/nested-functions.html

      【讨论】:

        猜你喜欢
        • 2012-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-08
        相关资源
        最近更新 更多