Ask matlab to compare variables per row between two column? Output a number "1" if the values are the same, output number "0" if the values are different.

1 view (last 30 days)
dataFolder = uigetdir();%select folder
filePattern = fullfile(dataFolder, '*.csv');
list = dir(filePattern);
Output = table();
for kk = 1:numel(list)
filename = list(kk).name;
data = readtable(fullfile(list(kk).folder, filename));
if numel(list)(:,1)==numel(list)(:,4)
disp('Correct')
value = 1;
elseif numel(list)(:,1)~=numel(list)(:,4)
disp('Incorrect')
value = 0;
end
end
For multiple .csv files in a folder that appear like this:
I want to ask matlab to compare variables per row between column 1 and 4.
Output a number "1" if the values are the same:
numel(list)(:,1)==numel(list)(:,4)
and "0" if they are not:
numel(list)(:,1)~=numel(list)(:,9)
For example row 2 column 1 = 6, column 4 = NaN.
It means I would like to output a column in wich in the row 2 I will have a 0.
Where am I wrong? Something with the syntax for sure but where?

Accepted Answer

Walter Roberson
Walter Roberson on 3 Jan 2020
(Output{:,1} == Output{:,4}) | (isnan(Output{:,1}) & isnan(Output{:,4}))
The second part is needed to implement the "nans are equal" criteria.
  17 Comments
Walter Roberson
Walter Roberson on 5 Jan 2020
value = zeros(1,numfiles);
Though it might be necessary to take special care because of the vector being passed in. I will need to reread the appropriate documentation.
Walter Roberson
Walter Roberson on 10 Jan 2020
https://www.mathworks.com/matlabcentral/answers/498717-extract-the-displayed-column-vectors-into-table-and-csv-file#comment_782904

Sign in to comment.

More Answers (0)

Categories

Find more on Just for fun in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!