【问题标题】:Matlab 2012 doesn't run my functions properlyMatlab 2012 不能正确运行我的函数
【发布时间】:2012-04-15 06:03:50
【问题描述】:

我写了这个m文件

function adhamm = adhamm(a,b)
    adhamm = a+b
end

当我尝试通过 MATLAB 的命令行运行它时

a = 2;
b = 3;
adhamm(a,b);

我收到此错误

“double”类型的输入参数的未定义函数“adhamm”。

这是为什么?

【问题讨论】:

  • 听起来不太对劲。尝试输入which adhamm。它可能不在你的路径中。
  • 您的代码对我有用。你确定你没有忘记创建一个函数而不是一个脚本吗?
  • 我又试了一次,成功了!之后发生了很多次,我所做的就是重新启动Matlab!

标签: matlab


【解决方案1】:

这些函数没有放在新版本的搜索路径中。 MATLAB 根本不知道在哪里可以找到它们。但是,不要将它们放在 MATLAB 工具箱目录中。那不是放置您自己的功能的地方。将它们放在一个单独的目录中,您将告诉 MATLAB 如何使用路径工具进行查找。 (如果你 cd 到那个目录,MATLAB 会自动查找那里,但这不是一个好的解决方案。)

你需要了解matlab中的搜索路径,matlab维护搜索路径的工具。因此,addpath、savepath、rmpath、pathtool。

【讨论】:

  • @3mmasr: 或者你可以把你的函数放到定义的目录 n userpath.
【解决方案2】:

您使用名称 adhamm.m 保存了您的函数,对吗?然后尝试在里面执行函数 adhamm.m 的文件夹。

【讨论】:

    【解决方案3】:

    您可能已经保存了一个名为 adhamm 的变量。输入clear adhamm 并重试。

    【讨论】:

      猜你喜欢
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      相关资源
      最近更新 更多