csvのデータを0以​下のものは削除し、デ​ータが前のものより1​低くなれば読み取りを​終了させる方法

1 view (last 30 days)
恵輔 沖
恵輔 沖 on 20 Mar 2023
Commented: 恵輔 沖 on 20 Mar 2023
data = dir('*.csv');
for n = 2:1:length(data)
data_csv = readmatrix(data(n).name);
data_name = data(n).name;
[Nc, Nr] = size(data_csv);
indata = data_csv(14:Nc, 2:3);
%xdataを0から読み取り、1つ前のdataよりdataが小さくなれば、終了させる方法を知りたいです。
xdata = indata(:, 2);
ydata = 10^3 * indata(:, 1) ./ data_A(n, 1);
plot(xdata, ydata,'b')
hold on
end
hold off

Answers (1)

Atsushi Ueno
Atsushi Ueno on 20 Mar 2023
data = dir('*.csv');
for n = 2:1:length(data)
data_csv = readmatrix(data(n).name);
data_name = data(n).name;
[Nc, Nr] = size(data_csv);
indata = data_csv(14:Nc, 2:3);
%xdataを0から読み取り、1つ前のdataよりdataが小さくなれば、終了させる方法を知りたいです。
xdata = indata(:, 2);
ydata = 10^3 * indata(:, 1) ./ data_A(n, 1);
xdata(xdata <= 0) = []; % csvのデータを0以​下のものは削除
ydata(xdata <= 0) = []; % csvのデータを0以​下のものは削除
xend = find(diff(xdata) < 0) % 1つ前のdataよりdataが小さくなれば、終了させる
plot(xdata(1:xend), ydata(1:xend),'b')
hold on
end
hold off
  1 Comment
恵輔 沖
恵輔 沖 on 20 Mar 2023
ありがとうございます。
解決しました。

Sign in to comment.

Categories

Find more on データのインポートと解析 in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!