0
这是我的第二个问题,所以请告诉我,如果我可以改进问的方式。matlab从数组中减去数组
我有一个角度数组,名为'度0'。现在我想计算(1 - cos(度))。为此我使用两个选项:
方法1:
mincosd0 = 1 - cosd(degree0);
方法2:
for i=1:size(degree0)
mincosd0(i) = (1 - cosd(degree0(i)));
end
据我了解Matlab的工作与阵列的方式,这两段代码应该做的一样的东西。 但是我得到的每种情况(计算mincosd0的概率偏差时)的结果看起来都不一样,而且我不能说,为什么会有差异或者哪种方式是计算这种情况的正确方法。
这是剧情的代码,但它同样在这两种情况下:
r2 = pi/500:2*pi/500:2*pi-pi/500;
mincosx2 = sort((1-cos(r2))); % locations in the centre of each bin
[N20,edges20] = histcounts(mincosd0,'NumBins',500,'BinEdges', 0:2/500:2);
for n = 1:500, prob1cos(n) = N20(n)/numel(degree0); end
plot (mincosx2,prob1cos);
如果你非常肯定的是,这必须做同样的事情,我也很感谢这些信息,然后其他地方有趣的事情正在发生。
谢谢您的时间
谢谢你的回答。这可能是一个原因,但我试图使用numel,并没有改变。 如果您确定,第一种方法没有错误,我将继续使用该方法。 – JustMe