You're not actually using logical indexing, you're using subscripted indexing. If you omitted the find call where you defined c you would be using logical indexing (in one of the dimensions.)
A = magic(5)
logicalIndices = A(:, 3) > 10
subscriptIndices = find(logicalIndices)
useLogicalIndices = A(logicalIndices, :)
useSubscriptIndices = A(subscriptIndices, :)
Given that clarification, I'm not quite sure what your question means, "Now I would like to extract these 3 trials that are left and their responses regarding that specific question." Perhaps if you showed a few representative rows of your data in temp_data_bundle.data_falt and explained the meanings of each column (do some of them represent the 'trials' aka chances for a user to answer a question?) we might be able to offer some guidance.
As a suggestion I might consider storing the data in a table array and giving each variable in the table a descriptive name, something like:
% Random / arbitrary sample data
questionNumber = [1; 1; 2; 3; 4];
trialNumber = [1; 2; 1; 1; 1];
rng default
answer = randi(4, 5, 1);
confidence = rand(5, 1);
correct = answer == 3;
% The table
T = table(questionNumber, trialNumber, answer, confidence, correct)
With this you can write more descriptive code.
wasWrongAnswerWithHighConfidence = (~T.correct) & (T.confidence > 0.9)
wrongAnswers = T.answer(wasWrongAnswerWithHighConfidence) % or
subtable = T(wasWrongAnswerWithHighConfidence, :)