필터 지우기
필터 지우기

Find average values in a table

조회 수: 5 (최근 30일)
Ahmed Alsaadi
Ahmed Alsaadi 2019년 1월 21일
댓글: Kevin Phung 2019년 1월 21일
I have a table that is 5x7 (see below), I want MATLAB to choose the first cell from the first row (23.869) and then go to the second row and find the closest number to the number in the first raw, which is 25.861, and then go the third row and find the closest number to the number in the first row and so on to the row number 5 and then I want MATLAB to calculate the average of those numbers. Then I want to repeat the same process on the second cell, third cell, ... seventh cell.
How can I do that, any idea?
23.869 111.52 348.59 241.02 167.31 539.84 802.81
111.52 25.861 350.59 241.02 161.33 537.85 0
27.37 350.24 113.41 240.78 181.08 537.33 808
349.27 25.908 237.49 111.74 175.61 539.59 325.32
25.787 113.44 350.51 232.97 537.63 804.73 0
  댓글 수: 2
madhan ravi
madhan ravi 2019년 1월 21일
Write your expected output explicitly so that it would be better to understand.
Ahmed Alsaadi
Ahmed Alsaadi 2019년 1월 21일
The expected output for the first value in the table
23.869 25.861 27.37 25.9080 25.7870
and then MATLAB use "mean" function to calculate the mean of this row and then repeat the process for the second value in the table, and so on to the seventh value

댓글을 달려면 로그인하십시오.

채택된 답변

Kevin Phung
Kevin Phung 2019년 1월 21일
편집: Kevin Phung 2019년 1월 21일
a = randi(10,5,7); % let a be your matrix
closest_all =zeros(1,7);
for i = 1:size(a,2) %first row values,
num = a(1,i); % this will be your 23.869, 111.52, etc...
closest = zeros(1,4);
for j = 2:size(a,1) % from the second row to 5th
row = a(j,:);
[min_val idx] = min(abs(row - num)); %all row elements minus 23.869
closest(j-1) = row(idx); %store the closest value to 23.689, then 111.52,etc...
end
closest_all(i) = mean(closest); %find the averages of the 4 values.
end
%closests_all will be a 1x7 vector containing all those averages
  댓글 수: 4
Ahmed Alsaadi
Ahmed Alsaadi 2019년 1월 21일
It works now, thank you very much
Kevin Phung
Kevin Phung 2019년 1월 21일
you're welcome! :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by