How to choose data with conditions?
16 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Sulaymon Eshkabilov
2022-8-17
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 ...
更多回答(1 个)
Cris LaPierre
2022-8-17
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!