In Matlab, I have a 2x3 matrix, A, like this one:
A = [1 2 3; 4 5 6];
This matrix is defined inside of a function which takes a parameter, T
. There are two cases that I need to take care of:
- T < 10
- T >= 10
If the user entered, say, T=40, then the 2nd row of A should be selected to make the calculations. On the other hand, if say T=5, the first row of A should be selected.
I can write a simple if-else condition like this:
if (T<10)
b = A(1,:) * ... %Do whatever with the first row
else
b = A(2,:) * ... %Do whatever with the second row
end
However I was wondering if it's possible to play around with Matlab indexes to save myself the overhead of having to write this if-else condition all around my code (this condition has to be checked many times, in different parts of my program).
For example, I was hoping to reach a simple expression like A(T<10, :)
which would work fine if T<10 but for T>=10 would return an empty matrix.
I've been racking my brains for some hours but I'm a bit of a novice in optimising Matlab scripts. Could anyone kick me in the right direction?