How to use one data set to find the mean of another?
2 ビュー (過去 30 日間)
古いコメントを表示
I have a data set (neighbors) and a data set (height) where I need to find the mean of the height of the plants that have 1 neighbor.
If say my Neighbors data set is 2,1,4,1,6,7,3,1 and my height is 12.5,17,10,4,16,20.4,13.2,9.4 . How do I compare these two? My thought is to use NON=find(Neighbors==1) and somehow use the designated spots to correlate it to height, but I don't know how. Please let me know if there is another way to do this. I've only been using Matlab for 1 week and have been using youtube a lot for help. Thanks.
NON=NumberOfNeighbors
PLCm=PlantHeightcm
find PLCm when NON=1
Error using find
Second argument must be a positive scalar integer.
0 件のコメント
採用された回答
Chunru
2021 年 9 月 1 日
編集済み: Chunru
2021 年 9 月 1 日
neighbors = [2,1,4,1,6,7,3,1];
height = [12.5,17,10,4,16,20.4,13.2,9.4 ];
% find the entries with 1 neighbour
idx = neighbors == 1;
% use logic index to get the heights with 1 neigbour and find mean
a = mean(height(idx))
% or in one line
a = mean(height(neighbors==1))
その他の回答 (1 件)
Jeff Miller
2021 年 9 月 1 日
NON1 = NON == 1; % this makes a boolean vector that is true for the positions where NON==1
mean(PLCm(NON1)); % this computes the mean of the PLCm values in those positions
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!