Matlab fplot:如果限制不在特定范围内,则匿名函数仅返回零
我有一个csv文件,其中一些整数存储在三列中Matlab fplot:如果限制不在特定范围内,则匿名函数仅返回零,matlab,plot,Matlab,Plot,我有一个csv文件,其中一些整数存储在三列中 trainData=load('training.csv') 我想计算一定范围内某个值的出现次数,并绘制结果 count = @(x) (sum(trainData(:,2)==x)); fplot(count,[0,500]); 然而,这只适用于某些限制,我不明白为什么。如果限制未设置为“正确”,则count()始终返回零 这起作用,意味着绘图显示一些大于0的值: fplot(计数,[0500]) fplot(计数,[100600]) fplo
trainData=load('training.csv')
我想计算一定范围内某个值的出现次数,并绘制结果
count = @(x) (sum(trainData(:,2)==x));
fplot(count,[0,500]);
然而,这只适用于某些限制,我不明白为什么。如果限制未设置为“正确”,则count()
始终返回零
这起作用,意味着绘图显示一些大于0的值:
fplot(计数,[0500])代码>
fplot(计数,[100600])代码>
fplot(计数,[101601])代码>
fplot(计数[200700])代码>
fplot(计数,[50550])代码>
fplot(计数,[0300])代码>
fplot(计数,[200450])代码>
fplot(计数[1501])代码>
这种奇怪行为的原因是
fplot
从指定的x值范围中选取值的方式。默认情况下,步长不是1(我假设),也不是fplot
使用指定范围内的所有可能值(这可能是不可能的)。因此,我的方法没有找到csv中出现的所有值(它们都是整数)。因此,上面的“工作”示例可能只命中了一些发生的值,而非工作示例仅命中了起始值(图[200450]),而没有命中任何其他值
简单地说,以下解决了问题:
fplot(计数,[0,n],n)代码>
它为0
到n
范围内的每个整数计算匿名函数