how can I compare two columns from a differente table that are similar but no equal and then take the difference?
2 次查看(过去 30 天)
显示 更早的评论
I want to sets of data, once was talking let's say one year ago, and the other one is recently, I would like to now the delta between the values but for the second set there are also new values, I tried doing something like this
clear all
clc
format short
addpath('Function')
DataFolder='Data';
%% Superstructure
[T1] = importfileC('Data\data_1.csv', 2, 7); %Importing file from a function created in matlab
[T2] = importfileC('Data\data_2.csv', 2, 8);
% T = [T1; T2]; %note the semicolon for vertical concatenation
% %or
% T = vertcat(T1, T2);
for i=1:length(T2.xmin)
if abs((T1.xmin(i)-T2.xmin(i)) < 0.50) || abs((T1.angle(i)-T2.angle(i))) < 5.0
T.delta(i) = abs(T1.length(i) - T2.length(2));
end
end
It is a triple conditional with an range, if the condition are fullfil then the next step is calculate the delta of the different longitudes
T1 T2
can arrange them in a horizontal position for the corresponding value? I mean save it in another table?
I also was thinking in create a zero matrix for the maximum size of the column but I don't know then how to put the delta value
Some ideas? thank you in advance
0 个评论
回答(1 个)
darova
2021-8-15
Here is my idea
if length(T2.min) > length(T1.xmin)
T = T1;
else
T = T2;
end
for i=1:length(T.xmin)
if abs((T1.xmin(i)-T2.xmin(i)) < 0.50) || abs((T1.angle(i)-T2.angle(i))) < 5.0
T.delta(i) = abs(T1.length(i) - T2.length(2));
end
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!