How to find the maximum values from each column 2 and 3 and find the corresponding values from column 1?
1 回表示 (過去 30 日間)
古いコメントを表示
I have 543 .txt files with 3 columns. I need to find the maximum values for column 2 and 3 for each of these files and scatter plot the values. Then I have to find corresponding values from column 1 for those maximum values in Column 2 and 3 and again scatter plot those values. Please help. This is the code I wrote.
list=dir('*.txt');
for n=1:length(list)
filename=list(n).name;
filename_edit=strrep(filename,'.',';');
part=textscan(filename_edit,'filename;%d;%d;%d;%d;%s');
delimiterIn = ' ';
A = importdata(filename,delimiterIn);
Altitude = A(:,1);
Digisonde = A(:,2);
COSMIC = A(:,3);
for i = 1:n
if Altitude > 150,
out1 = max(Digisonde);
out2 = max(COSMIC);
else
out3 = max(COSMIC);
end
end
scatter(out1,out2,'filled')
xlabel('Digisonde')
ylabel('COSMIC')
end
3 件のコメント
Jan
2018 年 4 月 16 日
編集済み: Jan
2018 年 4 月 16 日
You overwrite all values in both loops and each iteration. The purpose of the inner loop "for i=1:n" is not clear, because it calculates the same data n times. If you want to store the values, store them. An example:
r = zeros(1, 100);
for k = 1:100
r(k) = rand;
end
Now the elements of r are collected by storing each value in a new element of the vector r.
採用された回答
Jan
2018 年 4 月 16 日
find corresponding values from column 1 for those maximum values in Column 2 and 3
This would be:
[out1, index1] = max(Digisonde); alt1 = Altitude(index1); [out2, index2] = max(COSMIC); alt2 = Altitude(index2);
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!