필터 지우기
필터 지우기

loop in a column to calculate max and min in a certain interval

조회 수: 2 (최근 30일)
sud
sud 2018년 5월 28일
댓글: jonas 2018년 5월 28일
i have a column that has 200 values of length for each volume. and there can be n no. of volumes. so i need to calculate the maximum and minimum of lengths for each volume and plot volume(vs)minlength and volume(vs)maxlength in the same plot. please suggest a loop and how to apply it. help is much appreciated.
  댓글 수: 2
jonas
jonas 2018년 5월 28일
What do you mean by volume? Can you provide an example? The problem is not clear to me.
Stephen23
Stephen23 2018년 5월 28일
편집: Stephen23 2018년 5월 28일
sud's "Answer" moved here:
hi! i will attach a file. so its 1st column is volume and 16th column is length.

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

답변 (2개)

KSSV
KSSV 2018년 5월 28일
Let V be your volume and A be other column.
[c,ia,ib] = unique(V) ;
N = length(c) ;
iwant = zeros(N,1) ;
for i = 1:length(c)
iwant(i) = mean(A(ib==i)) ;
end
  댓글 수: 1
sud
sud 2018년 5월 28일
Hi. It is working. thanks but maybe i didnt put my problem correctly. I want to apply a loop for thia program written below! (after every 200 lengths):
IdlCatalogue_Dir='C:\Users\yadav\Desktop\IDL_routine\OUTPUT_FILE\ROSETTE_S2_r5\';
File = 'ROSETTE_S2_r5_GeometricData.csv';
FF = fullfile(IdlCatalogue_Dir,File);
Type = strrep(File, '_GeometricData_TOT.csv', '');
Type = strrep(Type,'_','\_');
data = load(FF);
deq = data(end-199:end,16);
for i=1:length(deq)
minimum(i)=min(deq(1:i));
% i'th of maximum would be the max upto ith interval of deq .
end
x=1:1:200;
figure()
plot(x,maximum);
hold on;
plot(x,minimum); set(gca,'xscale','log');
xlabel('number of projections')
ylabel('Deq(µm)')
title('Variation of Max Deq and Min Deq with number of projections')

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


jonas
jonas 2018년 5월 28일
Perhaps this will help...
data=readtable('ROSETTE_S2_R5_GeometricData.csv');
[volumes]=unique(data{:,1});
out=nan(2,length(volumes));
for i=1:length(volumes);
out(1,i)=min(data{data{:,1}==volumes(i),16});
out(2,i)=max(data{data{:,1}==volumes(i),16});
end
figure;
plot(volumes,out(1,:),...
volumes,out(2,:));
  댓글 수: 9
sud
sud 2018년 5월 28일
hi. so sorry for the bad format but i did try to select it and code it. i dont know why is it not taking the form of code!
jonas
jonas 2018년 5월 28일
I did some formatting and wrote this for you (see attached). All values are stored in maximum and minimum. You can choose which curve to plot by changing the variable id.
If you need anything else, please format the post correctly.

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

카테고리

Help CenterFile Exchange에서 Numerical Integration and Differential Equations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by