数据查找matlab,MATLAB:使用矢量化查找已排序数据的统计信息
我有一些功能代碼,我試圖通過消除for循環(huán)來加快速度 .
我有一組x,y對中的數(shù)據(jù)作為兩個向量,因此x(k)和y(k)形成一對 . 我也有一組bin邊(xe) . 對于每個bin j,在該bin中存在一組x值,由xe(j)<= x(k)
完成此任務(wù)的MATLAB代碼如下:
[meany, standardeviation] = ystatsvsx (xdata, ydata, xe)
meany = zeros([size(ydata,1) (length(xe)-1)]);
standarddeviation = meany;
[numx,bin] = histc(xdata, xe);
for j = 1:(length(xe) - 1)
inds = bin == j;
meany(j) = mean(ydata(inds));
standarddeviation(j) = std(ydata(inds));
end
當(dāng)xe很大時,此功能變慢 . 有沒有人有任何關(guān)于如何矢量化此代碼以消除for循環(huán)的建議?給定箱(numx)中的數(shù)據(jù)點數(shù)是可變的 .
一個警告:長度(xe)*長度(xdata)在這些情況下非常大(長度(xdata)總是遠大于長度(xe)),因此不可能使用repmat創(chuàng)建長度(xe)x長度(xdata)矩陣 .
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的数据查找matlab,MATLAB:使用矢量化查找已排序数据的统计信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么吃燕麦片 多种健康美味的燕麦片食用方
- 下一篇: 经常吃方便面有什么危害