Calculating average and saving to a new file
2 ビュー (過去 30 日間)
古いコメントを表示
I have few points between 200 to 500 which are unevenly spaced.
I have to make a file with x and y as average of all ponts in interval of 10 (if there is no point in that interval it will give 0)
i.e for 200 to 500... i will have 1 point for 200 to 210 (which will b average of all points in this interval) then 2nd point for 211 to 220... and so on..
like if my file is:
202 10000
205 12000
211 30000 .... and so on
so new x1 = average of(202,205) and new y1 = average(10000,12000) bcoz only those 2 points of the file come under 1st interval of 10.
plz help me
回答 (2 件)
Patrik Ek
2014 年 8 月 22 日
編集済み: Patrik Ek
2014 年 8 月 22 日
I am not exactly sure what you want to do, but the guess is that you have to set of points x and y. Then calculate average with mean and save the data to .mat file with save.
xm = mean(x); % mean of x
ym = mean(y); % mean of y
xym = join(xm,ym); % Create a struct to save the data to hold down the number of variables in the file
save('meanValues','xym'); % Save the data
Then to load the data use load('meanValues') and if you want to split up the struct again use split(xym).
Guillaume
2014 年 8 月 22 日
If I understood correctly what you want to do:
points = [4 20;2 24;6 33;11 22;17 222; 29 344];
[~, interval] = histc(points(:, 1), 1:10:101); %to find which interval the points belong to
xmeans = accumarray(interval, v(:, 1), [], @mean); %to average x according to interval
ymeans = accumarray(interval, v(:, 2), [], @mean); %to average y according to interval
meanpoints = [xmeans, ymeans];
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!