# logic used in matlab

1 view (last 30 days)
ali hassan on 18 Nov 2020
Commented: Steven Lord on 18 Nov 2020
what does this code mean.plzz explain step by step
code:
idx = any(possibleSol < 0) | any(imag(possibleSol) ~=0);
possibleSol(:, idx) = [];
ali hassan on 18 Nov 2020
plz help

Steven Lord on 18 Nov 2020
When you see a line of MATLAB code you don't understand, try breaking it into pieces. If you don't understand the pieces, break them up or look in the documentation.
idx = any(possibleSol < 0) | any(imag(possibleSol) ~=0); % the line
Breaking at the | operator gives pieces:
any(possibleSol < 0) % piece 1
any(imag(possibleSol) ~= 0) % piece 2
Breaking the first of those into pieces:
possibleSol < 0 % piece 1 part 1 = PP1
any( PP1 ) % piece 1 part 2
Do you understand piece 1 part 1? If not:
doc <
Do you understand what piece 1 part 2, calling any on piece 1 part 1, does? If not:
doc any
That tells you what piece 1 does. Do the same for piece 2, split it into parts. Then put the pieces back together: if you're not sure about the | operator:
doc |
##### 2 CommentsShowHide 1 older comment
Steven Lord on 18 Nov 2020
If you don't understand what a function or operator in MATLAB does, look at its documentation page. You can open the documentation pages using the doc function. To open the documentation page for the any function, for example:
doc any