Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用自定义绘图例程在MATLAB中绘制数据?_Matlab_Plot_Matlab Figure - Fatal编程技术网

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

如何使用自定义绘图例程在MATLAB中绘制数据?,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,代码如下: k=input('enter k'); i=0:1:k; lambda=4; cdf = exp(-lambda) .* ((lambda.^i)./ factorial(i)); plot(i,cdf); p = [0:0.00001:1] a =p.* log(2.*(p))+(1-p).* log(2.*(1-p)); plot(p,a) 运行此代码时,我遇到以下错误: Error using plot Attempt to execute SCRIPT

代码如下:

k=input('enter k');
i=0:1:k;
lambda=4;
cdf = exp(-lambda) .* ((lambda.^i)./ factorial(i));
plot(i,cdf);
 p = [0:0.00001:1]
  a =p.* log(2.*(p))+(1-p).* log(2.*(1-p));
  plot(p,a)    
运行此代码时,我遇到以下错误:

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
文件如下:

k=input('enter k');
i=0:1:k;
lambda=4;
cdf = exp(-lambda) .* ((lambda.^i)./ factorial(i));
plot(i,cdf);
 p = [0:0.00001:1]
  a =p.* log(2.*(p))+(1-p).* log(2.*(1-p));
  plot(p,a)    

如何解决此错误?

有一个名为的内置MATLAB函数,在运行
plot
命令时似乎会调用该函数。通过定义一个名为
newplot.m
的自定义脚本,可以隐藏MATLAB的
newplot
功能,因此
plot
命令尝试执行函数
newplot
,但只会找到脚本
newplot


您只需重命名脚本即可解决此问题,例如,从错误消息中,我建议从MathWorks帮助中心查看
mynewplot.m

。你在某处重新定义
plot
?给定的代码在我的Octave 5.2.0中运行得非常好。@HansHirse我在帖子中给出了我的newplot.m文件代码。请检查一下。pAh,我没有意识到,还有一个内置函数叫做。因此,重命名脚本(例如,
mynewplot.m
),您的代码应该可以工作。现在,在我将newplot.m文件重命名为新的绘图图形后,它显示此错误。m:使用以前可访问的绘图文件“C:\Users\Sudhanshu ranjan\MATLAB\R2016a\toolbox\MATLAB\graphics\newplot.m”时出错,现在无法访问。无标题(第9行)绘图错误(i,cdf);清除所有缓存等。可能重新启动MATLAB。最有可能的是,仍然有一些参考/链接指向您以前的
newplot.m
请帮助任何人。我无法解决我的问题。还是在将我的文件重命名为mynewplot.m之后。错误表明它是不可访问的。但是为什么它要搜索newplot.m文件呢?我在我的代码中只使用了plot函数。正如我在回答中所写的,当执行
plot
命令时,似乎隐式调用了MATLAB的内置
newplot
函数。你重新启动MATLAB了吗?你清除了所有的缓存了吗?如有必要,请进一步编辑您的问题并提供更多详细信息。没有标题的
是什么?我猜你要开始的剧本。您的
mynewplot.m
(以前的
newplot.m
)在哪里使用?您必须缩小可能的错误原因,因为这里的人无法访问您的环境。