precise selection in a for loop
Informazioni
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
Mostra commenti meno recenti
Hello, I just created a for loop and this is correct, but now I would only select positions from 30 to 48 for each "essai" but I am not sur how to do that whithout matrix size problem...
for essai = 1:length (nb_essai)
% for essai = 1:length (nb_essai)
num_ess = [];
num_ess = find (num(:,24) == essai);
Val_CursX_ess = num(num_ess,6);
Val_CursY_ess = num(num_ess,7);
Val_Quest_ess = txt(num_ess,36);
Val_Indice_ess = txt(num_ess,40);
Val_Valid_ess = txt(num_ess,33);
Risposte (1)
Walter Roberson
il 17 Lug 2015
After
num_ess = find (num(:,24) == essai);
add
num_ess = num_ess(num_ess >= 30 & num_ess <= 48);
10 Commenti
Alexandre Williot
il 17 Lug 2015
Modificato: Alexandre Williot
il 17 Lug 2015
Walter Roberson
il 18 Lug 2015
I do not understand that code.
What is class(Question_interet) ? Is it character array or is it cell array of string?
Why are you using those strange find() on strcmp() instead of using the two-output version of ismember() ?
[found, idx] = ismember('string', Cell_Array_Of_Strings)
Alexandre Williot
il 18 Lug 2015
Walter Roberson
il 18 Lug 2015
Please rewrite your code using ismember()
Also please note that there is no need to test
strcmp() == 1
The result of strcmp() is true or false directly so you can leave out the "== 1" such as
if strcmp(A,B)
or
find(strcmp(A,B))
Alexandre Williot
il 19 Lug 2015
Walter Roberson
il 19 Lug 2015
Yes, it probably is.
Alexandre Williot
il 19 Lug 2015
Walter Roberson
il 19 Lug 2015
Okay, so comment out that change of mine, rewrite the resulting version using ismember() and so on, and then uncomment the line and test the resulting code.
Alexandre Williot
il 19 Lug 2015
Alexandre Williot
il 19 Lug 2015
Questa domanda è chiusa.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!