How to choose data with conditions?
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mario
am 17 Aug. 2022
Kommentiert: Mario
am 17 Aug. 2022
Hello!! I'm new in programming world and I’m trying to select the data of a column with some condition; I need to select only when the data is increasing in the column, and when is decreasing in the same column. I did it in excel with: =IF((BA3-BA2)<0,BA2+(BA3-BA2)) --- for decreasing, and =IF((BA3-BA2)>0,BA2+(BA3-BA2)) for increasing. But I’m not able to do it in mat lab with the entire column.
If somebody can help me I really appreciative!
data = xlsread('Data1.xlsx')
0 Kommentare
Akzeptierte Antwort
Sulaymon Eshkabilov
am 17 Aug. 2022
This can be done a few different ways. MATLAB has several very efficient built-in functions to compute any value change dynamics. In your exercise, you would need to take the following steps:
Step 1. Data import
D = readmatrix('Data1.xlsx')'
Step 2. Compute the data chaneg dynamics
dD = diff(D);
Step 3. Find out if the data is increasing or decreasing order
IDX1 = find(dD>0); % Locate Indices for increase
IDX2 = find(dD<0); % Locate Indices for decrease
Step 4. Do something ...
Weitere Antworten (1)
Cris LaPierre
am 17 Aug. 2022
A simple example
A = [109.4632
109.3436
108.9267
108.2206
107.2488];
% logical array of locations where sequential rows are increasing or
% decreasing (will be one row shorter than A)
d = diff(A);
ind = d~=0;
% Create a new vector based on your formula: next value is current value
% plus difference of next row and current row
B = A([ind;false]) + d(ind)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Text Files finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!