logic used in matlab

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

Sign in to comment.

Accepted Answer

Steven Lord
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 |
Steven Lord
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

Sign in to comment.

More Answers (0)


Find more on Loops and Conditional Statements 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!