Matlab 散点图不起作用

Matlab scatter not working

Matlab scatter 未绘制数据和 returns NaN 图句柄。这是在 Windows 8,Matlab R2013b 上。 plot 工作正常。我的意思是字面上的--

>> figure; scatter(rand(100,1), rand(100,1))

给予

ans =

   NaN

和一个空的数字。 Matlab 散点图帮助页面中的示例执行相同的操作。这是最近发生的事情,所以它与 Java 或 Windows 更新有关?它通过重新启动计算机而持续存在。我有

>> version -java

ans =

Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode

事实证明,我用我自己的版本隐藏了 Matlab 的 scatter 函数,这是我为 class myclass 创建的。这个错误很微妙——在将我的文件复制到一台新机器时,Windows 在某个时候生成了我的 class 文件夹的副本,@myclass,并将其命名为 Copy of @myclass。在搜索函数的路径时,Matlab 知道忽略任何以“@”开头的文件夹名称。但是 Copy of @myclass 不再以这种方式开始,因此它对 scatter 的定义被暴露了。

这个问题是使用 Matlab 的 which 命令揭示的,即

>> which scatter

正如@DavidHahl 指出的那样,您也可以通过在工作场所使用名为 scatter 的变量来获取此错误,这在概念上与实际发生的情况相似。