Setting limits using If statements
5 views (last 30 days)
Show older comments
Consider a random matrix:
A=[1.8 2.6 3.4 4.0 7.2]
[0.5 0.4 0.3 0.2 0.1]
I want to write a code that scans through A and does something if some conditions against parameters P1 and P2 are satisfied. Could somebody help me convert my pseudo code into a MATLAB script.
-----------------------------------------------------------------------------------
Pseudocode
-----------------------------------------------------------------------------------
P1=3.5;
P2=0.39;
for i=1 : (number of rows)
if an element A(i,:) is greater than or equal to P1
store all the elements from A(i,:) that come before P1;
but if an element A(i,:) is less than or equal to P2
store all the elements from A(i,:) that comes before P2;
end if
end for
-----------------------------------------------------------------------------------
Expected Output:
StoredElements = [ 1.8 2.6 3.4 ]
[ 0.5 0.4 ]
-----------------------------------------------------------------------------------
0 Comments
Answers (1)
KSSV
on 11 Jul 2017
This is pretty simple...you need not to run a loop. Read about find. http://in.mathworks.com/help/matlab/ref/find.html.
Also you can use the logical indexing. Ex..to get all the values in A which are less then or equal to p1..use
store = A(A(<=p1)
2 Comments
See Also
Categories
Find more on Logical 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!