function - 为什么 Matlab 看不到我的函数?

我的功能绝对有效;它经过测试并一度被识别。

函数原型(prototype)如下:

function [X Y] = calculateEllipse(x, y, a, b, angle)
%# Code here
end

这是我从 Matlab 终端发出的调用:

calculateEllipse (612, 391, 107, 60, 331)

这是向我弹出的错误:

??? Undefined function or method 'calculateEllipse' for input arguments of
type 'double'.

现在,我 100% 肯定我与函数位于同一目录中。我什至用过

addpath('C:\path-to-function')

确定。它就是不起作用,我很困惑。

感谢任何帮助。

最佳答案

为了总结其他帖子,这里有一个确定问题原因的工作流程。

  1. 您输入错误的函数名称。检查函数定义并确保它确实调用了 calculateEllipse

  2. 您将函数保存到一个名称不同于函数名称的文件中。检查函数的文件名并确保它与函数名称匹配。

  3. 包含函数名称的文件夹不在 MATLAB 路径中。有几种方法可以检查这一点。键入 path 以查看当前路径,或键入 which calculateEllipse 以查找 MATLAB 用于该文件的位置。 (如果有问题,最后一条命令将显示 'calculateEllipse' not found.。请注意 addpath 不会永久更新路径,因此当您关闭 MATLAB 时,路径将被重置。为此使用 savepath

  4. 包含该函数的文件夹是 matlabroot 的子目录。这些文件夹是为成熟的工具箱保留的;当您将代码存储在这里时,会发生不好的事情。参见 Bob's answer了解更多信息。

其他需要检查的有用的东西是:

  1. 是否可以调用存储在同一文件夹中的其他函数?

  2. 如果将函数保存在不同的文件夹中,它会运行吗?

https://stackoverflow.com/questions/7251612/

相关文章:

facebook - 通过 Facebook 的 Api 编辑个人资料封面

django - 将 Django 模型/表拆分为两个模型/表是否有性能优势?

java - 从代数表达式创建二叉树

amazon-ec2 - 使用pscp自动接受rsa指纹

fonts - Safari 放大/缩小破坏页面布局(不能很好地改变字体大小)

perl - reverse 不在列表上下文中隐式使用 $_,这是一个错误吗?

bash - .bashrc 在云端?

ruby-on-rails - ruby rails : How can I add a css f

oop - R : Use a different base field/corpus 中的运算符重

c#-4.0 - Dataset/datatable是值类型还是引用类型