如何使用自定义绘图例程在MATLAB中绘制数据?

问题描述

代码如下:

k=input('enter k');
i=0:1:k;
lambda=4;
cdf = exp(-lambda) .* ((lambda.^i)./ factorial(i));
plot(i,cdf);

运行此代码时,出现以下错误

Error using plot
Attempt to execute SCRIPT newplot as a function:
C:\Users\Sudhanshu ranjan\MATLAB\R2016a\toolBox\matlab\graphics\newplot.m

Error in Untitled (line 9)
plot(i,cdf);

我的mynewplot.m文件如下:

 p = [0:0.00001:1]
  a =p.* log(2.*(p))+(1-p).* log(2.*(1-p));
  plot(p,a)    

如何解决错误

解决方法

有一个名为newplot的内置MATLAB函数,在运行plot命令时似乎会调用它。通过定义一个名为newplot.m的自定义脚本,您正在掩盖MATLAB newplot的功能,因此plot命令尝试执行功能newplot,但仅找到您的脚本newplot

您可以通过简单地重命名脚本来解决该问题,例如mynewplot.m